2個表

字段:
    id  deptid  singerid  type DEPTname
b
字段
    id  deptid  singerid  
開始時候 a表是用工具從別的數據庫同步過來的  singerid 是空的,但是 deptid  有值,
b是一個臨時表 記錄 每個部門下達 助理 id
我想執行一句 update 讓A 根據 deptid  從b取出 singerid  更新一下。
oracle不能用from  我寫了好幾次都提示數據不只一列,各位幫幫忙啦

解决方案 »

  1.   

    UPDATE A SET singerid =(SELECT singerid  FROM B WHERE deptid=A.deptid)
      

  2.   

    每次更新一次
    update a set singerid =
    (select singerid from b 
     where deptid=a.deptid
     and singerid<>a.singerid
     and rownum=1);
      

  3.   

    update a set singerid =(select singerid  from b where deptid=a.deptid and rownum=1)可以实现。
    你说的数据列不唯一是因为在b表中搜出的数据不止一条,可以在搜索时加上主键条件。