首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么在一个表中将下一行的期末数更新到上一行的期初数?并删除下一行

2012-10-14 
如何在一个表中将上一行的期末数更新到下一行的期初数?并删除上一行如下表客户编码客户名称月初应收实收月

如何在一个表中将上一行的期末数更新到下一行的期初数?并删除上一行
如下表
客户编码 客户名称 月初 应收 实收 月末余额
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 '%期初%'

热点排行