我发现下面的查询来计算运行平衡。
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;
我想知道其他条件是什么意思
答案 0 :(得分:1)
这是执行SUM OR DIFFERENCE操作的粗略方法: 在这里你要做的是找到decAmt的差异,如下所示:
decAmt(where charCrDr = 'c') - decAmt
答案 1 :(得分:0)
decAmt * -1
将decAmt的值乘以-1,这样如果它为正,则如果为负则变为负数,则变为正数
答案 2 :(得分:0)
实际上它是关于Credit(Cr)和Debit(Dr)的。运行余额为:
sum of Credits - (sum of Debits)
因此借记录的decAmt
(在ELSE
部分,即WHEN charCrDr != 'c'
)乘以-1以维持上述公式。
祝你好运。