select查询出的一列结果,插入到另外一张表其中一列去,如何实现表A有两列:id  age  name   其中id 和 age 都有值  name为空值
表B有两列:id  name    其中id  和  name都有值(当表B的id等于表A的id时)就把表B的name插入到表A对应的记录里面,如何实现,高手指教sql语句怎么写

解决方案 »

  1.   

    参考sql:
    insert into tablea (flda,fldb)
    select flda,fldb from tableb
      

  2.   

    修正:
    insert into tablea (flda,fldb)
    select flda,fldb from tableb b
    where exists(select 1 from  tablea  a where a.flda=b.flda)
      

  3.   

    update a set name = (select name from b where a.id = b.id)
    where a.id in (select id from b);
      

  4.   

    --10g
    MERGE INTO a
    USING b
    ON (a.id = b.id)
    WHEN MATCHED THEN
      UPDATE SET a.name = b.name;
      

  5.   

    还是  tangren 厉害阿。谢谢,分给你了。