如果我有两个表:Table A 和Table B
Table A(colA1,colA2,colA3)
Table B(colB1,colB2,colB3)
若我要把Table B中的colB2,colB3 更新到Table A中的colA2,colA3,其中A.colA1 = B.colB1
可用下面的sql语句吗
update A a set (colA2,colA3)
=(select colB2,colB3 from B where colB1 = a.colA1);
假设A和B中都有多条记录

解决方案 »

  1.   

    A和B中都有多条记录,这话有歧义:
    1.表示相同colA1或colB1对应多条相同的记录;
    2.表示相同colA1或colB1对应多条不同的记录。
      

  2.   


    Table A(colA1 primary key,
            colA2 ,
            colA3)
    Table B(colB1 primary key,
            colB2,
            colB3
                  constraint fk_tbb references a(colA1))
    这样就能避免多条数据重复现象