我知道这类问题在这里得到了多次回答,但我无法用任何答案来解决我的问题,所以请帮忙。这是我的问题。
table 1
ID1 CustID Owe
Table 2
ID2 CustID Paid
我需要简单的事情,在一个sql查询中我需要sum(TotalOwe - TotalPaid)
作为结果1.custID=2.custID=@custID
(这不是我的查询的例子,不要纠正它,这只是解释)。或者甚至更简单,ID = 112的客户的TotalOwe为xxx且已经支付TotalPaid
,所以他现在欠TotalOwe - TotalPaid
。
这看起来很简单,我甚至不好意思,但我真的没有时间进行实验了。我在一瞬间很接近,但是TotalOwe
和TotalPaid
的价值增加了一倍,我不知道为什么,但这是另一回事。
答案 0 :(得分:0)
SELECT COALESCE(TotalOwed,0) - COALESCE(TotalPaid,0)
FROM ( SELECT CustID,
SUM(Owe) TotalOwed
FROM table1
GROUP BY CustID) T1
FULL JOIN ( SELECT CustID,
SUM(Paid) TotalPaid
FROM table2
GROUP BY CustID) T2
ON T1.CustID = T2.CustID
WHERE COALESCE(T1.CustID,T2.CustID) = 112