首頁 >資料庫 >mysql教程 >如何使用符合的 ID 從一個 SQL 表更新另一個 SQL 表?

如何使用符合的 ID 從一個 SQL 表更新另一個 SQL 表?

Linda Hamilton
Linda Hamilton原創
2025-01-23 00:49:08185瀏覽

How to Update One SQL Table from Another Using a Matching ID?

根據符合 ID 更新 SQL 表

本指南示範如何使用另一個表 (Sales_Import) 中的對應資料更新一個 SQL 表 (RetrieveAccountNumber) 中的記錄,以匹配公用 LeadID。 一個常見的挑戰是使用 AccountNumber 中的值更新 Sales_Import 中的 RetrieveAccountNumber 而不會遇到空值。 此解決方案使用 UPDATE 語句和 JOIN.

使用 JOIN 高效率更新記錄

UPDATE ... FROM ... JOIN 語法允許透過組合多個表中的資料來進行高效更新。此方法可確保僅更新符合的記錄。

MS SQL Server:

<code class="language-sql">UPDATE Sales_Import
SET AccountNumber = RAN.AccountNumber
FROM Sales_Import SI
INNER JOIN RetrieveAccountNumber RAN ON SI.LeadID = RAN.LeadID;</code>

MySQL 和 MariaDB:

<code class="language-sql">UPDATE Sales_Import SI, RetrieveAccountNumber RAN
SET SI.AccountNumber = RAN.AccountNumber
WHERE SI.LeadID = RAN.LeadID;</code>

說明:

  • UPDATE Sales_Import:指定更新操作的目標表。
  • SET AccountNumber = RAN.AccountNumber:這會將 AccountNumber 表 (RetrieveAccountNumber) 中的 RAN.AccountNumber 指派給 AccountNumber 表中的 Sales_Import 欄位。
  • FROM Sales_Import SI INNER JOIN RetrieveAccountNumber RAN ON SI.LeadID = RAN.LeadID (MS SQL)UPDATE Sales_Import SI, RetrieveAccountNumber RAN WHERE SI.LeadID = RAN.LeadID (MySQL/MariaDB):這將基於LeadID 連接兩個表,確保只有匹配的行ID 已更新。 INNER JOIN (MS SQL) 或 WHERE 子句 (MySQL/MariaDB) 作為符合條件。

此方法透過僅更新兩個表中存在匹配 LeadID 的行來直接解決空值問題。 這會帶來更乾淨、更有效率的更新過程。

以上是如何使用符合的 ID 從一個 SQL 表更新另一個 SQL 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn