update A set A.s = (select B.c from B where A.d=B.d) where exists(select * from B where a.d = b.d)

解决方案 »

  1.   

    update a set a.a=(select max(b.c) from b where a.d=b.d)
    where exists (select * from b where a.d=b.d);
      

  2.   

    update a set a.a=
    (select b.c from b where a.d=b.d)update A set A.s = (select B.c from B where A.d=B.d) where exists(select 1 from B where a.d = b.d)
      

  3.   

    update A set a=nvl((select c from B where A.d=B.d),a);
      

  4.   

    我个人不赞成使用nvl((select  c  from  B  where  A.d=B.d),a); 
    这种写法,这样对对整个表进行update,而且多写大量日志