簡體   English   中英

來自多個表的sql總和數據以及來自兩個表的條​​目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM