当前位置: 代码迷 >> Sql Server >> 怎么批量把‘00’改成比前一行数据大于1的数字
  详细解决方案

怎么批量把‘00’改成比前一行数据大于1的数字

热度:37   发布时间:2016-04-24 20:08:47.0
如何批量把‘00’改成比前一行数据大于1的数字
现在有一个表tableAA


1 1 1 1 1 1 1 1 1 0 0
2 2 2 0 2 2 2 2 0 1 1
0 3 3 1 3 3 0 3 1 0 2
1 4 4 0 4 0 0 4 2 0 3
2 5 5 0 5 0 1 5 3 1 4
0 6 0 1 6 1 2 6 4 0 5
0 7 1 2 7 2 3 7 0 1 6
1 8 2 3 0 3 4 0 0 2 7
2 9 3 4 0 4 5 1 0 3 8
0 0 4 5 1 5 6 0 1 4 9
1 1 5 0 0 6 7 1 2 5 0
2 0 6 1 1 7 8 2 3 6 1
3 1 7 2 2 8 9 0 4 7 2
4 2 0 3 0 9 0 0 5 8 3
5 3 1 0 1 10 1 1 6 9 0

如何批量把‘0’改成比前一行数据大于1的数字
数据

------解决方案--------------------
update cloumn2=cloumn1+1 where cloumn2=0;
update cloumn3=cloumn2+1 where cloumn3=0;
…………
------解决方案--------------------
	declare @i   int,
        @sql varchar(max)
set @i=2
while  @i<=11
begin
   set @sql='update tableAA set cloumn'+ltrim(@i)+'=cloumn'+ltrim(@i-1)+'+1 where cloumn'+ltrim(@i)+'=0'
   EXEC(@sql)
   set @i=@i+1
end


是不是要这样效果
  相关解决方案