A表   id  coulmn1 coulmn2  coulmn3 
       1x     B      C         D
       2y     B      C         E
B表   id  coulmn1 coulmn2  coulmn3 
       5t     B      C         Y
       7u     B      C         D
       8x     B      D         K现在要求 当AB的 coulmn1 coulmn2 对应相等时  修改A的coulmn3的值等于B的coulmn3的值
大家怎么实现的尼  请给出正确答案  本人急需 谢谢  提示 
update A  set A.coulmn3= B.coulmn3 from A ,B 
B.coulmn3 from A,B
where A.coulmn1=B.coulmn1 and A.coulmn2=B.coulmn2
这样行不通

解决方案 »

  1.   

    提示  
    update A set A.coulmn3= B.coulmn3 from A,B
    where A.coulmn1=B.coulmn1 and A.coulmn2=B.coulmn2
    这样行不通
      

  2.   

    update A set A.coulmn3= B.coulmn3 
    from A Inner   Join   B
    on A.coulmn1=B.coulmn1 and A.coulmn2=B.coulmn2
      

  3.   

    update A set A.coulmn3= B.coulmn3 from A ,B  
    B.coulmn3 from A,B
    where A.coulmn1=B.coulmn1 and A.coulmn2=B.coulmn2
      

  4.   

    CREATE TABLE tb_a(id int identity(1,1) primary key,coulmn1 nvarchar(50), coulmn2 nvarchar(50), coulmn3 nvarchar(50))CREATE TABLE tb_b(id int identity(1,1) primary key,coulmn1 nvarchar(50), coulmn2 nvarchar(50), coulmn3 nvarchar(50))INSERT tb_a
    SELECT 'B','C','f'UNION ALL
    SELECT 'B','e','D'UNION ALL
    SELECT 'B','C','D'UNION ALL
    SELECT 'B','e','D'UNION ALL
    SELECT 'B','q','D'INSERT tb_b
    SELECT 'B','C','g'UNION ALL
    SELECT 'B','e','g'UNION ALL
    SELECT 'B','C','g'UNION ALL
    SELECT 'B','e','g'UNION ALL
    SELECT 'B','C','g'UPDATE tb_a SET tb_a.coulmn3=tb_b.coulmn3 from tb_a INNER JOIN tb_b  ON tb_a.coulmn1 = tb_b.coulmn1 AND tb_a.coulmn2=tb_b.coulmn2 
    SELECT * FROM tb_a 
    SELECT * FROM tb_b 
      

  5.   

    CREATE TABLE tb_a(id int identity(1,1) primary key,coulmn1 nvarchar(50), coulmn2 nvarchar(50), coulmn3 nvarchar(50))CREATE TABLE tb_b(id int identity(1,1) primary key,coulmn1 nvarchar(50), coulmn2 nvarchar(50), coulmn3 nvarchar(50))INSERT tb_a
    SELECT 'B','C','f'UNION ALL
    SELECT 'B','e','D'UNION ALL
    SELECT 'B','C','D'UNION ALL
    SELECT 'B','e','D'UNION ALL
    SELECT 'B','q','D'INSERT tb_b
    SELECT 'B','C','g'UNION ALL
    SELECT 'B','e','g'UNION ALL
    SELECT 'B','C','g'UNION ALL
    SELECT 'B','e','g'UNION ALL
    SELECT 'B','C','g'UPDATE tb_a SET tb_a.coulmn3=tb_b.coulmn3 from tb_a INNER JOIN tb_b  ON tb_a.coulmn1 = tb_b.coulmn1 AND tb_a.coulmn2=tb_b.coulmn2 
    SELECT * FROM tb_a 
    SELECT * FROM tb_b 
      

  6.   

    你意思是1x与5t比较 B=B,C=C,D变为Y吧
    貌似这样只用sql实现不了。
      

  7.   

    对数据表进行更新操作只能是对一个表!
    也就是说update后无论在什么位置不可能出现两个表名!!