2009-07-17 6 views
0

두 개의 열을 합한 다음 두 개의 합계를 빼서 두 개의 열 균형을 얻으려고합니다. 하지만 음수 값이 있음에도 불구하고 두 쿼리에 동일한 결과가 나타납니다. 쿼리에서 음수 값을 제외해야합니다.Money 열의 음수 값 합계

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

음수 값을 제외하는 방법에 대한 아이디어가 있으십니까? 또는 이것에 대한 다른 접근법.

답변

2

이있을 수 있습니다 당신이있어 무엇 후 :이 값을 대체하기보다는 WHERE 절을 추가하여 작동

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

. 그것은 또한 그것이 내 문제임을 확인하는 데 도움이되었습니다. 음수 값은 음수이며 * 두 열 모두 동일합니다! 물론 두 쿼리 모두 동일한 결과를 반환 할 것입니다. 도와 주셔서 감사합니다. –

0

BalanceAmt도 where 절에 있어야합니까?

WHERE ReceiptAmt > 0.00 
     AND BalanceAmt > 0.00