例如表A中存在3行数据:表B中存在2行数据:现在如何只用表A中的第2行数据更新表B中第1行数据,其他行数据不变

解决方案 »

  1.   

    -- 大概这样
    update  B 
    set (b.XM, b.BH) =(select A.XM, A.BH from A where A.ID = B.ID)
    where exists(select * from A where A.ID = B.ID)
      

  2.   

     UPDATE B
       SET (XH,XM) = (    //其他字段省略
         SELECT XH,XM 
         FROM A 
         WHERE ID=40049A
       )
      WHERE ID=5EC18C
      

  3.   

    我试了下这样是可行的。UPDATE B B1
       SET (B1.XH, B1.XM,B1.BH,B1.MC,B1.XZ,B1.FS,B1.ZF) =
           (SELECT A1.XH, A1.XM,A1.BH,A1.MC, A1.XZ, A1.FS, A1.ZF FROM A A1 WHERE B1.ID= A1.ID)
     WHERE B1.ID=
           (SELECT A2 .IDFROM A A2 WHERE B1.DEPTNO = A2 .DEPTNO)