admin

用两个表更新?

sql

我正在尝试使用表B中的数据更新表A。我认为我可以执行以下操作:

 UPDATE A
 SET A.name = B.name
 WHERE A.id = B.id

但是a,这行不通。

有人知道我该怎么做吗?


阅读 143

收藏
2021-05-10

共1个答案

admin

您的查询不起作用,因为您没有 FROM 子句来指定要通过A / B别名的表。

请尝试使用以下内容:

UPDATE A
    SET A.NAME = B.NAME
FROM TableNameA A, TableNameB B
WHERE A.ID = B.ID

就我个人而言,我更喜欢使用更明确的联接语法以保持清晰,即

UPDATE A
    SET A.NAME = B.NAME
FROM TableNameA A
    INNER JOIN TableName B ON 
        A.ID = B.ID
2021-05-10