同じ定義を持つ 2 つのテーブルがあります。
T1:
Name VARCHAR(50)
Qty INT
T2:
Name VARCHAR(50)
Qty INT
これは、各テーブルに含まれるデータです。
T1:
Name Qty
a 1
b 2
c 3
d 4
T2:
Name Qty
a 1
b 3
e 5
f 10
名前に基づいて両方のテーブルから Qty を合計できる結果が必要です。
予想される結果セット:
Name TotalQty
a 2
b 5
c 3
d 4
e 5
f 10
左結合または右結合を行うと、どちらのテーブルからも名前が返されません。
私が考えているのは、一時テーブルを作成してこれらのレコードを追加し、Qty 列で SUM 集計を行うことですが、これを行うにはもっと良い方法があるはずです。
これは、予想される結果セットを返さない私のクエリがどのように見えるかです:
SELECT t1.Name, ISNULL(SUM(t1.Qty + t2.Qty),0) TotalQty
FROM t1
LEFT JOIN t2
ON t1.Name = T2.Name
GROUP BY t1.Name
ここで一時テーブルを作成しても問題ないか、それとももっと良い方法があるか教えてください。