[英]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.