用总和求和的SQL查询

时间:2014-07-09 18:41:01

标签: sql

我知道这类问题在这里得到了多次回答,但我无法用任何答案来解决我的问题,所以请帮忙。这是我的问题。

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

这看起来很简单,我甚至不好意思,但我真的没有时间进行实验了。我在一瞬间很接近,但是TotalOweTotalPaid的价值增加了​​一倍,我不知道为什么,但这是另一回事。

1 个答案:

答案 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