0

2 つの列を合計し、2 つの合計を減算して 2 つの列の残高を取得しようとしています。しかし、負の値があることはわかっていても、両方のクエリで同じ出力が得られます。クエリでこれらの負の値を除外する必要があります。

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

負の値を除外する方法についてのアイデアはありますか? または、これに対する別のアプローチですらあります。

4

2 に答える 2

2

これはあなたが求めているものかもしれません:

SELECT 
  SUM(case when ReceiptAmt<0 then 0 else ReceiptAmt end) - 
  SUM(case when BalanceAmt<0 then 0 else BalanceAmt end) 
FROM Receipt            
于 2009-07-17T15:31:31.467 に答える
0

BalanceAmt も where 句に含める必要がありますか?

WHERE ReceiptAmt > 0.00 
      AND BalanceAmt > 0.00
于 2009-07-17T15:27:08.777 に答える