高分请教:本条记录的余额=上条记录的余额+本条记录的收入+本条记录的支出,如何批量更新?
如图,假定这张表叫liushui,三个字段分别是收入,支出和余额。
其中只有第一条记录有余额的值,剩下的记录(不确定记录数量)都只有收入或支出数。
其中收入用正数记,支出用负数记。
本条记录的余额=上一条记录的余额+本条记录的收入数+本条记录的支出数。
求教一条语句,如何才能批量将剩下的记录中余额值更新出来?
[解决办法]
with tb(a,b,c)as (
select 0,0,339480 union all
select 0,-10000,0 union all
select 0,-2627.4,0 union all
select 0,-30960,0 union all
select 0,-54244.6,0 union all
select 0,-2606,0 union all
select 0,-60000,0 union all
select 0,-10000,0 union all
select 0,-4000,0 union all
select 0,-22000,0
),
tbb as(
select row_number() over (order by a)number,* from tb)
select sum(a.a+a.b)+(select top 1 c from tb) from tbb a,tbb b where a.number<=b.number
group by b.number