现在有表如下(部分内容):
字段1 字段2    字段3
一 11057.0  一
NULL 11058.0 NULL
NULL 11070.0 NULL
NULL 11059.0 NULL
NULL 11060.0 NULL
NULL 11061.0 NULL
二  11063.0 NULL
NULL 11064.0 NULL
NULL 11065.0 NULL
NULL 11066.0 NULL
NULL 11067.0 NULL
三 11069.0 NULL
NULL 11185.0 NULL
NULL 11186.0 NULL
NULL 11187.0 NULL
NULL 11181.0 NULL
把字段1 中记录是一下面二以上的更新为一,把字段2下面三以上的更新为二,把三以此类推。
字段三也是这个意思,

解决方案 »

  1.   

    Declare @s varchar(20)
    Update 表 set 字段1=@s,
      @s=(case when 字段2 is not null then 字段2 else @s end),
      字段2='一'
      

  2.   

    update 表名
    set 字段1=case 字段2 when  between 11057.0 and 11061.0 then '一' 
                         when between 11063.0 and 11067.0  then '二'
                         when between 11069.0 and 11181.0  then '三'
                        ....
                    end
         字段3='一'
      

  3.   

    TO WangZWang(阿来)
    字段2='一'  不对吧!
      

  4.   

    to: itblog(^ω^) 有几千条记录,这样搞会死人的。