Microsoft Access 掲示板

2つのテーブルを比較して差を求めたい

5 コメント
views
4 フォロー

Access初心者です。Access2016を使っています。
2つのテーブルを比較し、その差異を算出するクエリを作成したくて何度かトライするのですがうまくいきません。
ご教示お願いします。詳細は以下の通りです。

・商品名と数量が記載されたテーブルを2つ(A、Bテーブル)を準備しています。
・AテーブルとBテーブルの商品名と数量を比較し、その数量の差異を求めたい。
・Aテーブルに入っている商品名と、Bテーブルに入っている商品名をまとめて1列に表示したい。(重複する商品名は結合)
・上記の1列にした商品名の右列へ、対応するAテーブルの数量、その隣の列へBテーブルの数量を表示、その隣の列へA数量とB数量の差異を表示

ふで
作成: 2022/02/07 (月) 08:52:41
通報 ...
1

各テーブル内で商品名は重複している場合があるということでしょうか。
重複している場合は合計値を表示するということでしょうか。
Aテーブルのみ、あるいはBテーブルのみに存在する商品名はありますか。

2
ふで 2022/02/07 (月) 14:24:46 a6302@375f9

hatena様ご連絡ありがとうございます。
ご質問についてですが、
・各テーブル内での商品名の重複について → ありません
・Aテーブルのみ、あるいはBテーブルのみに存在する商品名 → 存在します
以上宜しくお願いします。

3

SQLビューに下記のように記述してください。

SELECT
 T.商品名, SUM(T.A数量) AS A数量, SUM(T.B数量) AS B数量, (A数量 - B数量) AS 差異
FROM
(SELECT 商品名, 数量 AS A数量, 0 AS B数量
 FROM Aテーブル
 UNION ALL
 SELECT 商品名, 0 AS A数量,数量 AS B数量
 FROM Bテーブル) AS T
GROUP BY 商品名;
4
ふで 2022/02/07 (月) 15:53:02 a6302@375f9

ご連絡ありがとうございます。
内容を書き込んだところ、こちらがイメージした通りのものが表示されました。
有難うございました。助かりました。

5
りんご 2022/02/13 (日) 04:13:36 c564b@0e907

>> 3
 流石です。