如何批量把‘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
是不是要这样效果