首页 > 数据库 > mysql教程 > 如何使用匹配的 ID 从一个 SQL 表更新另一个 SQL 表?

如何使用匹配的 ID 从一个 SQL 表更新另一个 SQL 表?

Linda Hamilton
发布: 2025-01-23 00:49:08
原创
182 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板