1

two tables (Table1 and Table2)同一の列があります。

Customerno, amount

Customers列を持つ 3 番目のテーブルがあります。

Customerno, customername

現在、次の 2 つのクエリが実行され、結合された結果は Excel (vlookup など) を使用して導出されます。

Select a.customerno, b.customername, sum(a.amount) 
FROM Table1 a join customers b on a.Customerno = b.Customerno
group by a.customerno, b.customername


Select a.customerno, b.customername, sum(a.amount) 
FROM Table2 a join customers b on a.Customerno = b.Customerno
group by a.customerno, b.customername

目的の結果を得るために、2 つのクエリを 1 つに結合する正しい方法はありますか?

4

2 に答える 2

1
Select a.customerno, b.customername, sum(a.amount) 
FROM 
( 
   SELECT Customerno, amount FROM Table1
   UNION ALL -- use this keep duplicates ie amounts from both tables
   -- UNION -- will discard duplicates 
   SELECT Customerno, amount FROM Table2
) a 
join customers b on a.Customerno = b.Customerno
group by a.customerno, b.customername
于 2013-06-06T04:41:20.860 に答える
0

これにはUNIONステートメントを使用する必要があります。これら 2 つを結合する最も簡単な方法を次に示します。ここから作業を進めることができます。

select *
from
(

Select a.customerno, b.customername, sum(a.amount) 
FROM Table1 a join customers b on a.Customerno = b.Customerno
group by a.customerno, b.customername

union -- or union all if you want to keep the duplicates

Select a.customerno, b.customername, sum(a.amount) 
FROM Table2 a join customers b on a.Customerno = b.Customerno
group by a.customerno, b.customername
) P
于 2013-06-06T08:31:09.927 に答える