使用聯結更新 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
表而派生的。
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>
說明
UPDATE im
:指定要更新的 item_master
表(別名為 im
)。 SET mf_item_number = gm.SKU
:將 mf_item_number
欄位設為 SKU
表中 group_master
的值(別名為 gm
)。 FROM item_master im JOIN ...
:根據符合的欄位值定義三個表之間的連結。 WHERE ...
:將更新過濾為僅 mf_item_number
以 'STA%' 開頭且 manufacturerID
為 34 的行。 一般情況
此方法適用於各種更新場景:
<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
的值更新 common_column
中的 condition
。 請記住在執行之前始終仔細檢查您的查詢,以防止意外的資料修改。
以上是如何使用連線更新 SQL 中的欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!