update a set (a1,a2)=(select max(decode(a1,code,name)),max(decode(a2,code,name)) from b)

解决方案 »

  1.   

    A      ->      A              B
      1  2        张三   李四     1  张三
      3  4        王五   马流     2  李四
      5  6        赵七   钱八     3  王五 
                                  4  马流 
                                  5  赵七 
                                  6  钱八如果是从不同的表对应 ,那应该很好办。
    beckhanmbobo(beckham) 我是想要一个结果集。
      

  2.   

    还有,这个code 是没有什么顺序的。我举例仅仅为了方便。
      

  3.   

    select name1,name2 from(select rownum rn,decode(a.a1,b.b1,b.b2) name1 from a,b where a.a1=b.b1) a,(select rownum rn,decode(a.a2,b.b1,b.b2) name2 from a,b where a.a2=b.b1) b where a.rn=b.rn;
      

  4.   

    update a set (a1,a2)=(select max(decode(a1,code,name)),max(decode(a2,code,name)) from b)