在Money列中求和负值

时间:2009-07-17 15:24:31

标签: sql currency

我正在尝试将两列相加,并减去两个总和以获得两列的余额。但即使我知道有负值,我也会得到两个查询的相同输出。我需要在查询中排除那些负值。

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

有关如何排除负值的任何想法?或者甚至采用不同的方法。

2 个答案:

答案 0 :(得分:2)

这可能是你所追求的:

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

答案 1 :(得分:0)

BalanceAmt是否也应该在where子句中?

WHERE ReceiptAmt > 0.00 
      AND BalanceAmt > 0.00