我无法在另一个表上使用以下连接更新表。基本上,TableA在其Name列中有一些空值,我正在尝试从Customer表Name列添加它们,并加入ID列。
UPDATE
TableA
SET
TableA.Name = Customer.Name
FROM
TableA
INNER JOIN
Customer ON Customer.ID = TableA.ID
WHERE
TableA.Name <> Customer.Name
我也尝试过最后一行的地方:
TableA.Name = null
答案 0 :(得分:1)
UPDATE
TableA
SET
TableA.Name = Customer.Name
FROM
TableA
INNER JOIN
Customer ON Customer.ID = TableA.ID
WHERE
TableA.Name is null
您无法对null进行逻辑评估,因此根据您的需要,您必须使用或不使用。
答案 1 :(得分:0)
为什么要有WHERE子句呢?如果您希望名称基于ID相等,请执行以下操作:
UPDATE
TableA
SET
TableA.Name = Customer.Name
FROM
TableA
INNER JOIN
Customer ON Customer.ID = TableA.ID
或者如果你必须有一个WHERE子句来表现,那应该是这样的:
WHERE TableA.Name IS NULL OR TableA.Name <> Customer.Name