回答編集履歴
2
推敲
answer
CHANGED
@@ -15,8 +15,8 @@
|
|
15
15
|
下記で、type_listにtypeが列挙され、それと同じ並びでtype毎の計が列挙されます。
|
16
16
|
```SQL
|
17
17
|
select date, sum(type_total) sub_total
|
18
|
-
, array_agg(type order by type)
|
18
|
+
, array_agg(type order by type) type_ary
|
19
|
-
, array_agg(type_total order by type)
|
19
|
+
, array_agg(type_total order by type) type_total_ary
|
20
20
|
from (
|
21
21
|
SELECT date, type, SUM(amount) AS type_total
|
22
22
|
FROM table t1 left join type_table t2
|
1
追記
answer
CHANGED
@@ -8,4 +8,21 @@
|
|
8
8
|
FROM table t1 left join type_table t2
|
9
9
|
on t1.type_id=t2.id
|
10
10
|
GROUP BY date
|
11
|
-
```
|
11
|
+
```
|
12
|
+
|
13
|
+
追記
|
14
|
+
--
|
15
|
+
下記で、type_listにtypeが列挙され、それと同じ並びでtype毎の計が列挙されます。
|
16
|
+
```SQL
|
17
|
+
select date, sum(type_total) sub_total
|
18
|
+
, array_agg(type order by type) type_list
|
19
|
+
, array_agg(type_total order by type) type_total_list
|
20
|
+
from (
|
21
|
+
SELECT date, type, SUM(amount) AS type_total
|
22
|
+
FROM table t1 left join type_table t2
|
23
|
+
on t1.type_id=t2.type_id
|
24
|
+
GROUP BY date, type
|
25
|
+
) step1
|
26
|
+
group by date
|
27
|
+
```
|
28
|
+
後は受け取るプログラム側で、typeテーブルで列の数を決めて、該当する箇所に埋め込むようにします。
|