计算运行平衡

时间:2015-08-12 11:42:27

标签: sql sql-server

我发现下面的查询来计算运行平衡。

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;

我想知道其他条件是什么意思

3 个答案:

答案 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以维持上述公式。

祝你好运。