gpt4 book ai didi

具有多个连接到同一个表的 MySQL 更新查询

转载 作者:可可西里 更新时间:2023-11-01 08:39:30 25 4
gpt4 key购买 nike

在我现有的项目数据库 (MySQL) 中,有 2 个表 Employee 和 EmployeeReference。

enter image description here

Employee表有Role列,可以是Employee(或)Manager

每个经理都有一个引用代码,如果他们推荐一个员工,该代码将存储在 EmployeeReference 表中。他还将在 EmployeeReference 表中有一条记录,其中包含他自己的引用代码。

现在我们想用经理的 EmployeeID 更新 EmployeeReference 表中的这个 Reference Code 列,而不是现有的 Reference Code。

如何在同一个表中使用多个连接在 MySQL 中执行此更新查询?非常感谢任何帮助。谢谢!

最佳答案

如果我正确理解了这个问题,那么下面的查询就可以工作。它可以进一步优化。

SELECT * FROM `EmployeeReference` c INNER JOIN (SELECT a.RefCode,a.EmpId FROM `EmployeeReference` a INNER JOIN Employee b ON a.EmpID = b.EmpId WHERE b.Role = 'MNG') d ON c.RefCode = d.RefCode  

UPDATE `EmployeeReference` c INNER JOIN (SELECT a.RefCode,a.EmpId FROM `EmployeeReference` a INNER JOIN Employee b ON a.EmpID = b.EmpId WHERE b.Role = 'MNG') d ON c.RefCode = d.RefCode SET c.RefCode = d.EmpId

关于具有多个连接到同一个表的 MySQL 更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40649238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com