0

2つのテーブルがあります。1つはMaster、もう1つはExtraDataです。両方のテーブルは列を共有しますFirstName, LastName, Gender and A_Id

私が取り組んでいるクエリは、Extraで使用しているMasterの2つのテーブルとUPDATENULL値を比較する必要があります。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 に答える