日期:2014-05-17  浏览次数:20637 次

如何在一个表中将上一行的期末数更新到下一行的期初数?并删除上一行
如下表
客户编码 客户名称 月初 应收 实收 月末余额
001 a1(期初) 0 5000 0 5000  
001 a1(期末) 0 8000 3000 10000  
002 a2(期初) 0 2000 0 2000  
002 a2(期末) 0 5000 4000 3000  

要得到的效果是
客户编码 客户名称 月初 应收 实收 月末余额
001 a1(期末) 5000 8000 3000 10000  
001 a2(期末) 2000 5000 4000 3000 
即将客户a1(期初)的月末余额5000更新到客户a1(期末)的月初数中,并删除a1(期初)这条记录
同样将客户a2(期初)的月末余额2000更新到客户a2(期末)的月初数中,并删除a2(期初)这条记录

------解决方案--------------------
update a set 月初=(select 月末余额 from tb where 客户编码=a.客户编码 and 客户名称 like '%期
初%')
from tb a
delete tb where 客户名称 like '%期初%'