t1
-----------------------
id    A      B      Ct2
---------------------
id    F如果满足条件:t1.id = t2.id ,  t1.B = '0', F = null
就把F的值设置为C
请问如何实现 ?

解决方案 »

  1.   

    Update t2 set F=(Select C from t1 where t1.id=t2.id and t1.B = '0')
    where F is null
      

  2.   

    update t2 ta set F=(select c from t1 tb where ta.id = tb.id and tb.B = 0
    and exists(select 'X' from t2 where ta.id = id and tb.B = '0' and F is null));
      

  3.   

    update t2 t_2
        set t_2.F = 'C'
      where exists (
                    select 1
                      from t1 t_1
                     where t_1.id = t_2.id 
                       and t_1.B = '0'
                       and t_2.F is null
                   );试试看~~
      

  4.   

    update t2 t_2
        set t_2.F = 'C'
      where exists (
                    select 1
                      from t1 t_1
                     where t_1.id = t_2.id 
                       and t_1.B = '0'
                       and t_2.F is null
                   );C不是一字符,而是表t2的字段