临时表session.TEMP是如下的格式
khdxdh jylsh dffse jffse zhye1 num zhye
1 1 10 0 10 1 20
1 55 10 0 10 2 30
1 55 10 0 10 3 40
1 88 10 5 10 4 45
zhye这个字段是要求你求的 等于上一条记录的zhye+下一条的dffse-下条jffse
通过以下的with as语句可以实现累加,先查出num=1的记录作为sel,然后和表 session.TEMP做合并,db2的不可以使用join连接 只好
select * from session.TEMP a,sel b 这种合并的方式啦。
</pre><p></p><pre name="code" class="sql">insert into session.TMP_DFZHJL(khdxdh,jylsh,zhye)
with sel(khdxdh,jylsh,zhye,num) as
( select khdxdh,jylsh,(zhye1+dffse-jffse) as zhye,num
from session.TEMP where num=1
union all
select a.khdxdh,a.jylsh,(b.zhye+a.dffse-a.jffse) as zhye,a.num
from session.TEMP a,sel b
where a.num=b.num+1 and a.khdxdh=b.khdxdh
)
select khdxdh,jylsh,zhye
from sel;