回答編集履歴
2
修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
仮に可変で取り出せたとして、どのように利用するのですか?
|
2
|
-
カラムが可変で返却されるselect結果を利用する場合、結局カラムの情を判断する必要があるでしょうから、
|
2
|
+
カラムが可変で返却されるselect結果を利用する場合、結局カラムの情報を判断する必要があるでしょうから、
|
3
3
|
select結果を利用する際に配列型を扱えるようなら、[array_agg()](https://www.postgresql.jp/document/9.4/html/functions-aggregate.html)の利用をお薦めします。
|
4
4
|
|
5
5
|
```SQL
|
1
追記
answer
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
group by 従業員番号
|
9
9
|
```
|
10
10
|
array_agg()はdistinctやorder byも指定できますし、配列の要素数は[array_length()](https://www.postgresql.jp/document/9.4/html/functions-array.html)で求めることができます。
|
11
|
+
|
11
12
|
```SQL
|
12
13
|
select *, array_length(申請日リスト, 1) as 申請件数
|
13
14
|
from (
|
@@ -15,4 +16,5 @@
|
|
15
16
|
from 申請テーブル
|
16
17
|
group by 従業員番号
|
17
18
|
) agg_list
|
18
|
-
```
|
19
|
+
```
|
20
|
+
※array_length()の説明のために記述しただけで、単に件数を求めるのにはcount()を使用すればよくネストさせる必要はありません。また、他にも配列を扱う色々な関数があります。
|