用两张表更新?
问题描述:
我正在尝试使用表 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