• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GROUP BY 句を 2つ組み合わせる方法)

GROUP BY 句を2つ組み合わせる方法

このQ&Aのポイント
  • GROUP BY 句を2つ組み合わせて、集計の集計を行う方法について教えてください。
  • 対象SQLでは、商品コードを追加して商品コード単位で金額の合計値を取得し、その合計値から営業所単位の金額合計値を求める手法がありますか?
  • 具体的な対象SQLの記述例とともに教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

SELECT ・・・ FROM ( SELECT ・・・ FROM hoge GROUP BY 商品コード ) GROUP BY ・・・ って事でしょうか? 一旦必要なデータをSELECTして、それをFROMとして再抽出・集計を掛けることは可能です。

KAZUKAZUBANZAI
質問者

補足

一旦、商品コード単位で集計して、その結果を、営業所単位で集計を行いたいです。 イメージとしては、下記のSQLなんですが・・・・ エラーで通らなく困っています。 SELECT T1.処理対象年月 , T1.部CD , T1.部署名 , T1.営業所CD , T1.営業所名 , T1.並び順 , T1.商品CD , T1.仕訳区分 , T1.科目CD1 , T1.科目CD , T1.科目名 , SUM(T1.金額) , T1.出力FLG ( SELECT TO_NUMBER(SUBSTR(S.処理対象年月日,1,6)) AS 処理対象年月 , M1.内部CD AS 部CD , M3.略式名称 AS 部署名 , S.管理営業所CD AS 営業所CD , M1.略式名称 AS 営業所名 , M1.表示順 AS 並び順 , S.商品CD AS 商品CD , 14 AS 仕訳区分 , 6 AS 科目CD1 , 631 AS 科目CD , '期末商品棚卸高' AS 科目名 , (SUM(S.前月末在庫数) + SUM(S.仕入数) - SUM(S.仕入返品数) + SUM(S.移動入庫数) + SUM(S.調整入庫数) - SUM(S.売上数) + SUM(S.売上返品数) - SUM(S.移動出庫数) - SUM(S.調整出庫数) - SUM(S.仮売上数量) - SUM(S.工事出庫数量)) * MAX(DISTINCT S.在庫原価) * -1 AS 金額 , 0 AS 出力FLG FROM F_在庫履歴 S LEFT JOIN M_名称 M1 ON M1.種別CD = 1 AND M1.対象CD = S.管理営業所CD LEFT JOIN M_名称 M3 ON M3.種別CD = 3 AND M3.対象CD = M1.内部CD WHERE S.処理対象年月日 = 20140331 GROUP BY M1.内部CD, M3.略式名称, S.管理営業所CD, M1.略式名称, M1.表示順, S.商品CD, TO_NUMBER(SUBSTR(S.処理対象年月日,1,6)) ) T1; GROUP BY T1.内部CD, T1.略式名称, T1.管理営業所CD, T1.略式名称, T1.表示順, TO_NUMBER(SUBSTR(S.処理対象年月日,1,6))