0

我有两张表,一张 Master 和一张 ExtraData。两个表共享列FirstName, LastName, Gender and A_Id

我正在处理的查询应该比较两个表和Master 中使用Extra的UPDATE任何 NULL 值。A_IdA_Id

做这个的最好方式是什么?我可以比较CONCAT(FirstName, LastName, Gender),但我坚持如何根据JOIN.

4

1 回答 1

4

您可以在连接中使用许多条件,然后只需将一个源表中的列设置为另一个表中列的值:

UPDATE Master 
JOIN ExtraData 
  ON Master.FirstName = ExtraData.FirstName
  AND Master.LastName = ExtraData.LastName
  AND Master.Gender = ExtraData.Gender
SET Master.A_Id = ExtraData.A_Id 
WHERE Master.A_Id IS NULL

请注意,可以使 JOIN 条件更简洁(因为列的名称相同):JOIN ExtraData USING (FirstName, LastName, Gender)

于 2012-07-10T15:59:26.117 回答