通过使用多个连接MSSQL更新表

时间:2016-05-17 17:03:15

标签: sql sql-server

我有以下两个表

活性

enter image description here

activity_bak

enter image description here

我想从 activity_bak 中获取评论,并使用相应的activity_no和activity_seq更新活动中的评论以进行匹配。

我试过这样做,但没有成功:

update Animal.sysadm.activity
       set activity_comment = ab.activity_comment
           from Animal.SYSADM.activity a
               left join Animal.SYSADM.activity_bak ab
          on ab.activity_no = a.activity_no
               left join Animal.sysadm.activity_bak ab2
          on ab2.activity_seq = a.activity_seq

非常感谢任何帮助或指示。

2 个答案:

答案 0 :(得分:-1)

无需进行2次连接,只需要一次。正确的语法是:

UPDATE a
SET a.activity_comment = ab.activity_comment
FROM Animal.SYSADM.activity a
INNER JOIN Animal.SYSADM.activity_bak ab
    ON ab.activity_no = a.activity_no
    AND ab.activity_seq = a.activity_seq;

答案 1 :(得分:-1)

我想你想要:

update A set activity_comment = ab.activity_comment
    from Animal.SYSADM.activity a
    left join Animal.SYSADM.activity_bak ab
        on ab.activity_no = a.activity_no
        And ab.activity_seq = a.activity_seq