teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

質問修正に対して追記

2017/08/14 13:53

投稿

tomari_perform
tomari_perform

スコア760

answer CHANGED
@@ -5,4 +5,33 @@
5
5
 
6
6
  1つもSQLにもっと近い形(?)で
7
7
  希望する出力結果にする場合、
8
- group by の項目から「QTY」を外すと良いと思います。
8
+ group by の項目から「QTY」を外すと良いと思います。
9
+
10
+ (↑上記は質問文修正前の回答)
11
+
12
+ 質問文修正後、追加
13
+ ---
14
+ ```SQL
15
+ -- これはアリ?
16
+ SELECT V1.ITEM_ID
17
+ , SUM( V1.sum_item_qty )
18
+ , MAX( V1.sum_parent_qty )
19
+ FROM (
20
+ SELECT T1.ITEM_ID
21
+ , SUM(T1.QTY) as sum_item_qty
22
+ , SUM(T1.QTY) OVER (PARTITION BY PARENT_NO) as sum_parent_qty
23
+ FROM TABLE_A T1
24
+ GROUP BY
25
+ T1.ITEM_ID
26
+ , T1.QTY
27
+ , T1.PARENT_NO
28
+ ) V1
29
+ GROUP BY V1.ITEM_ID
30
+
31
+ -- ↓これでもOK?エラーかもですが。
32
+ SELECT T1.ITEM_ID
33
+ , SUM(T1.QTY) as sum_item_qty
34
+ , MAX( SUM(T1.QTY) OVER (PARTITION BY PARENT_NO) ) as sum_parent_qty
35
+ FROM TABLE_A T1
36
+ GROUP BY T1.ITEM_ID
37
+ ```