本指南示範如何使用另一個表 (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中文網其他相關文章!