如何在此处找到经理姓名。每位经理也是一名员工。
EmpID Name ManagerId
1 A 3
2 B 1
3 C 2
4 D 5
5 E 1
预期结果是这样的
EmpID Name ManagerName
1 A C
2 B A
3 C B
4 D E
5 E A
答案 0 :(得分:1)
您可以自行加入表格,并使用已加入的实例获取经理的姓名:
SELECT e.empid, e.name, m.name
FROM employee e
JOIN employee m on e.managerid = m.empid
答案 1 :(得分:1)
你必须使用左连接来获得所需的输出。否则你会想念一些没有经理的员工..
SELECT e.empid, e.name Employee, ISNULL(e1.name,'') Manager
FROM employee e
LEFT JOIN employee e1 on e.managerid = e1.empid
答案 2 :(得分:0)
CREATE TABLE #MYTEMP
(
EmpID INT
,Name VARCHAR(10)
,ManagerId INT
)
INSERT INTO #MYTEMP VALUES
(1,'A',3),( 2,'B',1),(3,'C',2),(4,'D',5),( 5,'E',1)
SELECT EMP.EmpID AS EMPNO,
EMP.Name AS EMPLOYEE,
MGR.Name AS MANAGER
FROM #MYTEMP EMP
JOIN #MYTEMP MGR
ON EMP.ManagerId = MGR.EmpID