如何根据匹配 ID 和排序顺序使用另一个表中的数据更新表?

Patricia Arquette
发布: 2024-10-31 03:08:02
原创
878 人浏览过

How to Update a Table with Data from Another Table Based on Matching IDs and Sort Order?

高级 MySQL 查询:使用另一个表中的数据更新表

当前的任务是更新业务表中的电子邮件列使用人员表中电子邮件列的数据。这两个表通过business_id列连接。

此更新查询的简单方法如下:

<code class="sql">UPDATE business b
SET b.email = (
    SELECT email
    FROM people p
    WHERE p.business_id = b.business_id AND sort_order = '1'
)
WHERE b.email = '';</code>
登录后复制

但是,此查询只会更新每个business_id的第一个匹配项在人员表中。确保我们更新所有相关业务记录的修改是:

<code class="sql">UPDATE business b, people p
SET b.email = p.email
WHERE b.business_id = p.business_id
AND p.sort_order = '1'
AND b.email = '';</code>
登录后复制

通过使用 JOIN 语法显式连接业务 (b) 和人员 (p) 表,查询确保只有具有最高 sort_order 的人员值(即本例中的“1”)会影响更新。这更准确地符合使用每个企业排名最高的人员的电子邮件更新业务数据的预期目标。

以上是如何根据匹配 ID 和排序顺序使用另一个表中的数据更新表?的详细内容。更多信息请关注PHP中文网其他相关文章!

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