如下表
客户编码 客户名称 月初 应收 实收 月末余额
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(期初)这条记录
客户编码 客户名称 月初 应收 实收 月末余额
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(期初)这条记录
解决方案 »
- 急求大侠帮忙,先谢谢了!
- 求SQL语句,根据时间、地点、类别确定单价
- 谁有SQL Server 2008 Enterprise简体中文正式版的下载地址或BT种子?(以学习为目的滴...)迅雷找了个但好像是180天的评估版本的
- 求出批次号最大值 -----help me...
- 为什么我的2003系统装不了SQL2000
- 关系图可不可以跨服务器建关系
- 请教关于sql 复制,订阅的问题
- 求一特殊查询语句
- 急求:触发器问题!!!!
- T-SQL语句编个函数(同一记录的多个列相加) 急!!
- 怎么增加冗余列
- SQL存储过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'。
初%')
from tb a
delete tb where 客户名称 like '%期初%'
;with galen as
(select *,rn=row_number()over(partition by 客户编码 order by 客户编码) from 表a where rn=2)update 表a set a.月初=a.应收,a.应收=galen.应收,a.实收=galen.实收,a.月末余额=galen.月末余额 from 表a a, galen where a.客户编号=galen.客户编号
(select *,rn=row_number()over(partition by 客户编码 order by 应收)
from 表a where rn=2)update 表a set a.月初=a.应收,a.应收=galen.应收,
a.实收=galen.实收,a.月末余额=galen.月末余额
from 表a a, galen where a.客户编号=galen.客户编号