简体   繁体   English

计算运行余额

[英]Calculate running balance

I found below query to 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;

I would like to know what it means by else condition 我想知道其他条件意味着什么

这是执行SUM或DIFFERENCE操作的粗略方法:在这里,您要尝试找到decAmt的不同之处,如下所示:

decAmt(where charCrDr = 'c') - decAmt 

decAmt * -1decAmt * -1的值乘以-1,这样,如果它为正数,它将变为负数;如果为负数,它将变为正数。

Actually it's about the Credit(Cr) and Debit(Dr). 实际上,这与贷方(Cr)和借方(Dr)有关。 The running balance is: 余额为:

sum of Credits - (sum of Debits)

So the decAmt for debit records (in the ELSE part, that is WHEN charCrDr != 'c' ) are multiplied by -1 to maintain the above formula. 因此, decAmt记录的decAmt (在ELSE部分,即WHEN charCrDr != 'c' )乘以-1以维持上述公式。

Good Luck. 祝好运。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM