如何解决此SQL查询emp经理关系

时间:2019-05-25 17:31:47

标签: mysql sql

我有两个表:

  1. emp(编号,名称)
  2. emp_manager_rel(emp_id,mngr_id)

enter image description here

enter image description here

在第二个表emp_idmngr_id中与id表的emp列相关。

我们需要受尊重的emp的id,emp名称,经理名称

我们尝试了很多联接和子查询,但未获得预期的结果。

2 个答案:

答案 0 :(得分:1)

根据id列将emp_manager_rel表与emp表两次连接,您将获得预期的结果:

SELECT e.id as empid, e.name as empname, 
       m.id as managerid, m.name as managername
FROM emp_manager_rel em
JOIN emp e ON e.id = em.emp_id
JOIN emp m ON m.id = em.mngr_id 

答案 1 :(得分:1)

以下脚本将在MySQL和SQL Server上运行。

SELECT A.ID, A.name Employee_Name,C.Name Manager_Name 
FROM Emp A
LEFT JOIN emp_manager_rel B ON A.Id = B.emp_id
INNER JOIN Emp C ON B.mngr_id = C.ID