我有一张Ledger表见图像
我想写一个查询,它将减去DR-CR数据..并仅重新计算到期金额数据。
它应该省略支付金额5000,因为我们在1-3-2014有2000,在1-4-2014有3000
你能帮忙吗〜我已经在申请时这样做了。但我想在我的SQL查询上执行此操作。答案 0 :(得分:0)
SQL Server 2008没有累积总和。所以,你必须使用更复杂的表达式。我们的想法是获取DR的累计金额,然后减去信用额的总和,并选择值为正的行。
select l.*
from (select l.*,
(select sum(dr)
from ledger l2
where l2.id <= l.id
) as cumdr,
sum(cr) over () as sumcr
from ledger l
) l
where cumdr - sumcr > 0;