2009-07-17 51 views
0

我想總結兩列,並減去兩個總和以獲得兩列的餘額。但是,即使我知道存在負值,我也會得到兩個查詢的相同輸出。我需要在查詢中排除這些負值。Money列中的負值總和

SELECT SUM(ReceiptAmt) - SUM(BalanceAmt) FROM Receipt 
SELECT SUM(ReceiptAmt) - SUM(BalanceAmt) FROM Receipt WHERE ReceiptAmt > 0.00 

有關如何排除負值的任何想法?甚至還有一個不同的方法。

回答

2

這可能是你追求的:

SELECT 
    SUM(case when ReceiptAmt<0 then 0 else ReceiptAmt end) - 
    SUM(case when BalanceAmt<0 then 0 else BalanceAmt end) 
FROM Receipt    
+0

這是通過替換值,而不是增加一個WHERE子句。它也幫助我確定這是我的問題。負值是負值,這兩個值都是*列!所以當然它會返回相同的結果frmo我的查詢。謝謝您的幫助。 – 2009-07-17 16:03:58

0

BalanceAmt應該在where子句中嗎?

WHERE ReceiptAmt > 0.00 
     AND BalanceAmt > 0.00