###前提・実現したいこと
My SQLで都道府県別・商品別に、販売額の合計を一覧にして出したいのですが、うまくいきません。
###発生している問題・エラーメッセージ
県IDが同じ場合は顧客番号にかかわらず、販売合計金額を1つに纏めたいのですが、CustomerIDを結合したせいでGROUP BYがかからなくなっているようです。
(CustomerIDを消すと県IDが取れなくなってしまうので、今使用されているID,Name,テーブルはそのまま使用したいです。)
###ソースコード
My SQL
SELECT
A.PrefecturalID
,A.PrefecturalName
,I.ProductName
,G.販売合計金額
FROM
Prefecturals AS A
INNER JOIN
(
SELECT
b.PrefecturalID
,c.CustomerID
FROM
Prefecturals AS b
INNER JOIN
Customers AS c
ON b.PrefecturalID = c.PrefecturalID
GROUP BY
b.PrefecturalID
,c.CustomerID
) AS D
ON A.PrefecturalID = D.PrefecturalID
INNER JOIN
(
SELECT
f.CustomerID
,e.ProductID
,SUM(f.Quantity * e.Price) AS 販売合計金額
FROM
Products AS e
INNER JOIN
Sales AS f
ON e.ProductID = f.ProductID
GROUP BY
e.ProductID
,f.CustomerID
) AS G
ON D.CustomerID = G.CustomerID
INNER JOIN
Products AS I
ON
I.ProductID = G.ProductID
ORDER BY
A.PrefecturalID
,A.PrefecturalName
,I.ProductName
;
###補足情報
テーブル結合の仕方は他にもあるかと思いますが、今回はNameをGROUP BYしないようにコードを組みたいのでこのような形になっています。
出力項目:PrefecturalID、PrefecturalName、ProductName、販売合計金額
出力順:PrefecturalID、PrefecturalName、ProductName
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/08 13:39
2016/02/08 13:50
2016/02/09 00:18 編集
2016/02/09 02:16
2016/02/09 15:10 編集