結合を使用した SQL フィールドの更新: 総合ガイド
多くの場合、テーブルのフィールドを更新するには、他のテーブルからのデータが必要になります。 これは、SQL の UPDATE
ステートメントと結合を使用して効率的に実現できます。 このガイドではそのプロセスを説明します。
クエリ構造
結合を組み込んだ UPDATE
クエリの基本構造は次のとおりです。
<code class="language-sql">UPDATE target_table SET target_field = source_value FROM target_table JOIN source_table1 ON join_condition1 JOIN source_table2 ON join_condition2 WHERE filter_condition;</code>
具体例
mf_item_number
テーブルの item_master
フィールドを更新する必要があるとしましょう。 新しい値は、それぞれ item_master
列と group_master
列に基づいて Manufacturer_Master
、sku
、ManufacturerID
テーブルを結合することで得られます。
<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>
説明
UPDATE im
: 更新する テーブル (item_master
というエイリアス) を指定します。im
SET mf_item_number = gm.SKU
: フィールドを mf_item_number
テーブル (SKU
というエイリアス) の group_master
の値に設定します。
gm
FROM item_master im JOIN ...
WHERE ...
が 'STA%' で始まり、 が 34 である行のみに更新をフィルターします。mf_item_number
manufacturerID
このアプローチは、さまざまな更新シナリオに適応できます:
これは、一致する
<code class="language-sql">UPDATE tableA SET fieldA = tableB.fieldB FROM tableA JOIN tableB ON tableA.common_column = tableB.common_column WHERE condition;</code>
に基づいて、fieldA
の tableA
の値で fieldB
を更新します。 意図しないデータ変更を防ぐために、実行前に必ずクエリを注意深く確認してください。tableB
以上が結合を使用して SQL のフィールドを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。