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

SQL結合を使用してテーブルフィールドを更新するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-22 14:05:11810ブラウズ

How to Update a Table Field Using SQL Joins?

JOIN を使用した SQL UPDATE クエリ

複数のテーブルの結合から取得した値に基づいてテーブル内のフィールドを更新する必要があるとします。たとえば、group_master (gm) および Manufacture_Master (mm) からのデータに基づいて更新する必要がある mf_item_number フィールドを含む item_master (im) テーブルがあるとします。

<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, group_master gm, Manufacturer_Master mm
WHERE
    im.mf_item_number LIKE 'STA%'
    AND im.sku = gm.sku
    AND gm.ManufacturerID = mm.ManufacturerID
    AND gm.manufacturerID = 34;</code>

item_master の mf_item_number フィールドを更新するには、次の SQL ステートメントを使用できます:

<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>

このクエリは、group_master の SKU 値に基づいて item_master の mf_item_number フィールドを更新します。このクエリ自体は、Manufacturing_Master に関連する条件によってフィルターされます。

結合を使用した一般的な更新クエリの例を次に示します:

<code class="language-sql">UPDATE A
SET foo = B.bar
FROM TableA A
JOIN TableB B ON A.col1 = B.colx
WHERE ...;</code>

この例では、UPDATE 句は FROM 句でテーブル エイリアス A を参照し、TableA と TableB の間の結合から取得した B.bar 値に基づいてフィールド foo を更新します。

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

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