ホームページ >データベース >mysql チュートリアル >複数のテーブルの結合値を使用して SQL でテーブルを更新するにはどうすればよいですか?

複数のテーブルの結合値を使用して SQL でテーブルを更新するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-22 13:51:101038ブラウズ

How Can I Update a Table in SQL Using Joined Values from Multiple Tables?

JOIN を使用して SQL Server テーブルを更新します

JOIN を使用してデータベース テーブルを更新することは、複数のテーブル間の関係に基づいてデータを変更するための強力な手法です。 Microsoft SQL Server では、UPDATE ステートメントを JOIN と組み合わせて使用​​して、この目的を達成できます。

質問:

「item_master」テーブルのフィールドを、他の 3 つのテーブル (「group_master」、「Manufacturing_Master」、および「item_master」自体) の JOIN 値で更新する必要があります。

解決策:

ステップ 1: JOIN クエリを構築する

<code class="language-sql">SELECT
    im.itemid,
    im.sku AS iSku,
    gm.SKU AS GSKU,
    mm.ManufacturerId AS ManuId,
    mm.ManufacturerName,
    im.mf_item_number,
    mm.ManufacturerID
FROM item_master im
JOIN group_master gm ON im.sku = gm.sku
JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;</code>

このクエリは、3 つのテーブルから一致する行をすべて取得し、指定された条件に基づいてフィルターします。

ステップ 2: JOIN を使用してフィールドを更新する

次の UPDATE ステートメントは、JOIN 句のテーブル エイリアス (im、gm、mm) を使用して、「item_master」テーブルの「mf_item_number」フィールドを「gm.SKU」の値に設定します。

<code class="language-sql">UPDATE im
SET mf_item_number = gm.SKU
FROM item_master im
JOIN group_master gm ON im.sku = gm.sku
JOIN Manufacturer_Master mm ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number LIKE 'STA%' AND gm.manufacturerID = 34;</code>

手順:

  • 更新の対象テーブルは「item_master」(エイリアス「im」)です。
  • 更新される値は「gm.SKU」です (「group_master」テーブルから)。
  • JOIN 句は、更新される行が指定された条件を満たしていることを保証します。
  • このクエリは、「group_master」テーブル内の対応する「SKU」値を使用して、指定された条件を満たす「item_master」テーブル内のすべての「mf_item_number」フィールドを更新します。

以上が複数のテーブルの結合値を使用して SQL でテーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。