本指南演示如何使用另一个表 (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中文网其他相关文章!