SQL Serverで、複数のテーブルを跨いでフィールドを更新する方法は何ですか?
SQL Serverでフィールドを更新する際には、内部結合サブクエリ、セルフジョイン、またはMERGEステートメントを使用することができます。
方法1:インラインサブクエリを使用します。
UPDATE 表1
SET 字段 = (SELECT 字段 FROM 表2 WHERE 条件)
WHERE 条件;
Option:
方法2:セルフリンクを使用します。
UPDATE 表1
SET 字段 = 表2.字段
FROM 表1
INNER JOIN 表2 ON 表1.条件 = 表2.条件;
方法3: MERGE文を使用する。
MERGE INTO 表1
USING 表2
ON 条件
WHEN MATCHED THEN
UPDATE SET 表1.字段 = 表2.字段;
上記の3つの方法すべてにおいて、クロステーブル更新の正確性を確保するために、適切な条件を設定する必要があります。