A表: a1,a2,a3,a4     B表:b1,b2,b3,b4
现在需要当a2=b2时,把b3的值给a3,把b4的值给a4.

解决方案 »

  1.   


    UPDATE A SET A.a3 = B.b3,A.a4=B.b4
    FROM A JOIN B ON A.a2 = B.b2
      

  2.   

    SQL code
    UPDATE A SET A.a3 = B.b3,A.a4=B.b4
    FROM A , B 
    where  A.a2 = B.b2
      

  3.   

    UPDATE A SET A.a3 = B.b3,A.a4=B.b4
    FROM A JOIN B ON A.a2 = B.b2
      

  4.   

    update a set a.a3=b.b3,a.a4=b.b4
                           from a join b on A.a2 = B.b2
      

  5.   

    而且如果后面还有where,要怎么写啊,比如B.b4>100
      

  6.   

    UPDATE A SET A.a3 = B.b3,A.a4=B.b4
    FROM  B where A.a2 = B.b2
      

  7.   

    UPDATE A SET A.a3 = B.b3,A.a4=B.b4
    FROM A JOIN B ON A.a2 = B.b2 WHERE B.b4>100
      

  8.   


    UPDATE A SET A.a3 = B.b3,A.a4=B.b4
    FROM A JOIN B ON A.a2 = B.b2 and B.b4>100
    不就行了
      

  9.   

    UPDATE A SET A.a3 = B.b3,A.a4=B.b4
    FROM A JOIN B ON A.a2 = B.b2 
    where B.b4>100
      

  10.   

    又是一道抢答题啊? update ...from ,如果数据量比较大的时候,可以在a2和b2上建立索引. 如果修改的数量超过全表的20%!建立索引也可能走scan而不走seek!