ホームページ >データベース >mysql チュートリアル >SQL結合を使用してテーブルフィールドを更新するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。