有表T_Table,字段有AA, A,B,C,D  类型均为int有数据
AA  , a,b,c,d
1,0,0,0,0
2,0,5,0,0
34,2,5,0,0
43,4,5,0,0求一update语句
update t_table set a = aa或b=aa或c=aa或d=aa但必须1、a,b,c,d那列的值是零的时候才能update,
2、a,b,c,d只能更新一个。最好能按a,b,c,d的顺序来不知道我描述可清楚。多谢大家

解决方案 »

  1.   

    update t_table set 
    a=case when a=0 then aa else a end,
    b=case when b=0 then bb else b end,
    c=case when c=0 then cc else c end,
    d=case when d=0 then dd else d end
      

  2.   

    update t_table set 
    a=case when a=0 then aa else a end,
    b=case when (a<>0 and b=0) then bb else b end,
    c=case when (a<>0 and b<>0 and c=0) then cc else c end,
    d=case when (a<>0 and b<>0 and c<>0 and d=0) then dd else d end