[英]Calculate running balance
我發現下面的查詢來計算運行余額。
SELECT intId, varName, decAmt, charCrDr,
SUM(CASE WHEN charCrDr = 'c' THEN
decAmt
ELSE
decAmt * -1
END )
OVER (PARTITION BY varName ORDER BY intId) As decTotal
FROM #Temp;
我想知道其他條件意味着什么
這是執行SUM或DIFFERENCE操作的粗略方法:在這里,您要嘗試找到decAmt的不同之處,如下所示:
decAmt(where charCrDr = 'c') - decAmt
decAmt * -1
將decAmt * -1
的值乘以-1,這樣,如果它為正數,它將變為負數;如果為負數,它將變為正數。
實際上,這與貸方(Cr)和借方(Dr)有關。 余額為:
sum of Credits - (sum of Debits)
因此, decAmt
記錄的decAmt
(在ELSE
部分,即WHEN charCrDr != 'c'
)乘以-1以維持上述公式。
祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.