[英]sql sum data from multiple tables with entries from both tables
我有2個表tbl1和tbl2,它們都具有[PartID]和[Amount]和[Date]列。
我想查詢返回這樣的事情:
PartID | Date | SUM_tbl1 | SUM_tbl2
PartID 1可能在tbl1中,而在tbl2中則不是,反之亦然,並且每個PART ID在兩個表中都有多行。
我希望兩個SUM列都顯示該表中每個部件ID的總和。 我希望看到截至6/30/2017的SUM。
請幫忙! 謝謝!
最簡單的? 首先,使用UNION將單個表與所需的原始行組合在一起:
select PartID, Date, Amt as Table1Entry, NULL as Table2Entry from tbl1
UNION ALL
select PartID, Date, NULL as Table1Entry, Amt as Table2Entry from tbl2
...接下來,既然您已經將兩個表的數據都存儲在一起,則可以將其作為子查詢求和:
select PartID, Date, Sum(Table1Entry) as SumTable1, Sum(Table2Entry) as SumTable2
from
(
select PartID, Date, Amt as Table1Entry, NULL as Table2Entry from tbl1
UNION ALL
select PartID, Date, NULL as Table1Entry, Amt as Table2Entry from tbl2
) mySubquery
GROUP BY PartID, Date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.