使用JOIN更新SQL Server表
利用JOIN更新資料庫表是根據多個表之間的關係修改資料的強大技術。在Microsoft SQL Server中,UPDATE語句可以與JOIN結合使用來實現此目的。
問題:
您需要使用三個其他表(「group_master」、「Manufacturer_Master」和「item_master」本身)的JOIN值來更新「item_master」表中的一個欄位。
解:
步驟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>
此查詢會擷取三個表中所有符合的行,並根據指定的條件進行篩選。
步驟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>
說明:
以上是如何使用多個表中的連線值更新 SQL 中的表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!