2014-04-10 78 views
0

列出員工姓名和沿着他們的上司的名字如何比較2列並根據結果返回第三列?

CREATE TABLE Employees (
    EmployeeID char(4) PRIMARY KEY, 
    EmployeeName varchar(30) NOT NULL, 
    HourlyRate real, 
    SkillType varchar(20), 
    SupervisorID char(4) NOT NULL 
) 

所以我想返回顯示

Employee Name || Supervisor Name 

表我試圖

Select 
    EmployeeName, 
    (Select EmployeeName Where SupervisorID = EmployeeID) As Supervisor 
From Employees 

但它只顯示值在Employee是他們自己的主管,其他人則返回null。在講座我一定是簡單的東西,但我無法弄清楚

回答

2

你需要加入同桌再次

Select e.EmployeeName, s.EmployeeName As Supervisor 
From Employees e 
left join Employees s on s.employeeID = e.supervisorID 
+0

乾杯,還沒有覆蓋加入呢,但是從我讀這是有道理的:) – user3449768

0
SELECT EMAIN.EmployeeName AS Employee, 
     (SELECT E.EmployeeName FROM Employees AS E WHERE EMAIN.EmployeeID = E.SupervisorID) AS Supervisor 
FROM Employees AS EMAIN 
相關問題