は、私は3つの列を含むテーブルT1
を持っている:2列Id, New_Address
が含まれている別のテーブルT2
はId, Name, Address
SQLの更新クエリ
があります。 Id
欄のT2
はT1
と同じです。
Address
のT1
の列をNew_Address
のT2
に更新するクエリが必要です。
IDを確認して更新ステートメントを実行することで、ループで実行できます。どのようにしてクエリを実行する必要がありますか?
は、私は3つの列を含むテーブルT1
を持っている:2列Id, New_Address
が含まれている別のテーブルT2
はId, Name, Address
SQLの更新クエリ
があります。 Id
欄のT2
はT1
と同じです。
Address
のT1
の列をNew_Address
のT2
に更新するクエリが必要です。
IDを確認して更新ステートメントを実行することで、ループで実行できます。どのようにしてクエリを実行する必要がありますか?
どの程度
UPDATE T1
SET Address = T2.New_Address
FROM T2
WHERE T1.id = T2.id
UPDATE T1
SET T1.Address = T2.New_Address
FROM T1
INNER JOIN T2 ON T2.ID = T1.ID
UPDATE T1
SET Address = (select New_Address from T2 where T1.ID=T2.ID);
この - 'LEFT JOIN'に相当し、 - も持っていない表1のすべての行(NULL''にそれらの設定)が更新されます表2の「NewAdress」。 –
@ypercube - このクエリには、未定義のものを静かに選択するのではなく、複数の新しいアドレスが一致する場合にエラーが発生するという利点があります。これは 'SET Address = ISNULL((New.AddressをT2から選択します.T1.ID = T2.ID)、Address);と書かれていますが、' MERGE'はこのエラーチェックも組み込み済みであり、望ましいでしょう。 –