前提・実現したいこと
集計した5個のクエリをユニオンクエリでまとめ、まとめたクエリをさらに集計し、合計売上をまとめたい。
発生している問題
①Excelからコピーしてきた売上データ5個分のテーブル
例)2000年売上 20001年売上・・・
②①をひとつずつ集計し、クリエを作成(5個分)
例)2000年売上クリエ(テーブルの2000年売上を集計したもの)
フィールド名:JANコード・商品名・販売価格をグループ化、販売数・合計売上を合計に設定
③②のクリエ5個分をユニオンクリエでまとめる
※まとめた結果のクリエで問題が発生
↓
4個分のクリエのデータは二重表示なしなのに、1個分のクリエデータが二重表示されてしまう
最終的には、③でまとめたユニオンクリエをさらに集計したデータを出したいです。
データ例
フィールド名:JANコード 商品名 販売数 販売価格(税抜) 合計売上(税抜)
1234 ○○ 5 1000 5000
データ例①での状態
(2000年売上)
フィールド名:JANコード 商品名 販売数 販売価格(税抜)
1234 ○○ 5 1000
1234 ○○ 5 1000
5678 ●● 4 1000
(2001年売上)
フィールド名:JANコード 商品名 販売数 販売価格(税抜)
5678 ●● 5 1000
5678 ●● 3 1000
データ例②での状態(2000年売上テーブルを元に集計)
フィールド名:JANコード 商品名 販売数 販売価格(税抜) 合計売上(税抜)
1234 ○○ 5 1000 5000
1234 ○○ 5 1000 5000
5678 ●● 4 1000 5000
データ例③での状態 ※こうなっていてほしい例
フィールド名:JANコード 商品名 販売数 販売価格(税抜) 合計売上(税抜)
1234 ○○ 5 1000 5000
1234 ○○ 5 1000 5000
5678 ●● 4 1000 4000
5678 ●● 5 1000 5000
5678 ●● 3 1000 3000
データ例③での状態 ※実際の状態
フィールド名:JANコード 商品名 販売数 販売価格(税抜) 合計売上(税抜)
1234 ○○ 5 1000 5000
1234 ○○ 5 1000 5000
5678 ●● 4 1000 5000
5678 ●● 5 1000 5000
5678 ●● 5 1000 5000
5678 ●● 3 1000 3000
5678 ●● 3 1000 3000
この状態でユニオンクエリでのデータが作成されてしまうので、ここからさらに集計をした際に
JANコード5678の商品が販売合計数12になっている状態が正しいはずが、
「※実際の状態」でユニオンクエリでのデータが作成されてしまうせいで
ユニオンクエリでまとめたデータをさらに集計すると販売合計数20となってしまい、
本来は
フィールド名:JANコード 商品名 販売数 販売価格(税抜) 合計売上(税抜)
1234 ○○ 10 1000 10000
5678 ●● 12 1000 12000
となった最終データがほしいのに
フィールド名:JANコード 商品名 販売数 販売価格(税抜) 合計売上(税抜)
1234 ○○ 10 1000 10000
5678 ●● 20 1000 20000
となってしまいます。
解決方法をご存知の方いらっしゃいましたらご助力いただけますと幸いです。
SQL追加
SELECT [2000年].JANコード, [2000年].商品名, Sum([2000年].販売数) AS 販売数の合計, [2000年].販売価格, Sum([2000年].合計売上) AS 合計売上の合計
FROM 2000年
GROUP BY [2000年].JANコード, [2015年].商品名, [2000年].販売価格;
UNION ALL
SELECT [2001年].JANコード, [2001年].商品名, Sum([2001年].販売数) AS 販売数の合計, [2001年].販売価格, Sum([2001年].合計売上) AS 合計売上の合計
FROM 2001年
GROUP BY [2001年].JANコード, [2001年].商品名, [2001年].販売価格;
・
・
・
UNION ALLで5個分すべて入力し、5個目の最後にはUNION ALL入れておりません
この度はご回答くださった皆様ありがとうございました。
おかげ様で原因が解決しました。
今回は原因解決の直接的なご助言をいただいた方をベストアンサーとさせていただきました。
回答3件
あなたの回答
tips
プレビュー