SQL -从升序行减去付款金额?



我有一个PaymentSchedule表,如下所示,其中包含有关合同的信息,以及我们期望何时获得付款。

totaltbody> <<tr>
contractkey paymentDueDate
385884前期95.3562022-05-17 00:00:00.000
385884第一个12022-06-09 00:00:00.000
385884最后143.0342024-07-17 00:00:00.000

用例表达式根据累积金额检查totalpaid并相应地计算剩余金额

第一个条件是totalpaid大于累计金额,所以remaining = 0

第二个条件是totalpaid只能部分支付累计金额

最终条件(else)是totalpaid完全不够支付金额,所以Remaining = 0

TotalRemaining = case when isnull(dd.totalpaid, 0) 
>=   sum(s.Total) over (partition by s.contractkey
order by s.DueDate)
then 0
when isnull(dd.totalpaid, 0)
>=   sum(s.Total) over (partition by s.contractkey
order by s.DueDate)
- s.Total
then sum(s.Total) over (partition by s.contractkey
order by s.DueDate)
-    isnull(dd.totalpaid, 0)
else s.Total
end

最新更新