2014-02-12 110 views
0

我畫一個空白,我有這個疑問完美的作品,但現在我只想回到減去兩列SQL

TotalCredits - TotalDebits的差異

下面是查詢產生我需要減去的兩個值,我玩了連接,但我認爲我的方式偏離軌道。

select 
(select sum(TOTALAMOUNT) from journal where memberid=48 and CREDIT =1) as TotalCredits, 
(select SUM(totalamount) from Journal where MEMBERID=48 and DEBIT =1) As TotalDebits 
+0

這是SQL Server語法嗎? – wdosanjos

回答

1

把您的查詢,這樣的派生表;

select TotalCredits - TotalDebits as Difference 
from 
(
select 
(select sum(TOTALAMOUNT) from journal where memberid=48 and CREDIT =1) as TotalCredits, 
(select SUM(totalamount) from Journal where MEMBERID=48 and DEBIT =1) As TotalDebits 
) temp 
+0

這兩個答案都很好,很有價值,我選擇了@丹,因爲他只回答了我所問的差異領域,但是這兩個答案都是有效的。我將在其他情況下使用其他答案感謝這兩個答覆大大幫助我。 – gbb116

3

嘗試這樣的事情

SELECT 
    SUM(CASE WHEN CREDIT = 1 THEN TOTALAMOUNT END) as TotalCredits, 
    SUM(CASE WHEN DEBIT = 1 THEN TOTALAMOUNT END) as TotalDebits, 
    SUM(CASE WHEN CREDIT = 1 THEN TOTALAMOUNT END) - SUM(CASE WHEN DEBIT = 1 THEN TOTALAMOUNT END) as Diff 
FROM journal 
WHERE memberid=48