用两张表更新?

问题描述:

我正在尝试使用表 B 中的数据更新表 A.我以为我可以做到类似:

I am trying to update table A with data from table B. I thought I could do something like:

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

可惜,这行不通.

有人知道我该怎么做吗?

Anyone have an idea of how I can do this?

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

Your query does not work because you have no FROM clause that specifies the tables you are aliasing via A/B.

请尝试使用以下方法:

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

就个人而言,为了清晰起见,我更喜欢使用更明确的连接语法,即

Personally I prefer to use more explicit join syntax for clarity i.e.

UPDATE A
    SET A.NAME = B.NAME
FROM TableNameA A
    INNER JOIN TableName B ON 
        A.ID = B.ID