首页 > 解决方案 > 如何获取每个员工的当前经理姓名并将其添加为同一张表中的新列?

问题描述

我有一张Employees包含emp_no员工信息的表格,但根本没有一列指定他们的经理。

经理的姓名和他们的姓名与其他员工一起emp_noEmployees表中。经理的emp_nodept_no出现在dept_manager表中。主动经理9999-01-01在 中的列to_date中具有价值dept_manager。在第三张桌子上dept_emp,我有每个员工的emp_noand dept_no

我尝试使用left join将经理姓名添加到员工姓名中,但出现错误:

SELECT (concat(first_name, ' ',last_name)) as EmployeeName, 
(concat(first_name, ' ', last_name)) as Managersname,
FROM employees AS emp 
LEFT JOIN dept_manager AS dm ON emp.emp_no=dm.emp_no
LEFT JOIN dept_emp as de on dm.dept_no=de.dept_no and dm.to_date='9999-01-01';

关于如何获得正确结果的任何更好的想法?

谢谢,GV

标签: left-joinself-join

解决方案


SELECT (concat(emp.first_name, ' ', emp.last_name)) as EmployeeName, 
(concat(dm.first_name, ' ', dm.last_name)) as Managersname 
FROM employees AS emp LEFT JOIN dept_manager AS dm ON emp.emp_no=dm.emp_no  
WHERE dm.to_date='9999-01-01';

推荐阅读