我有如下表從業人員管理者報告 - SQL服務器
empid empname managerID
1 A NULL
2 B 1
3 C 1
4 D 2
的DDL是在
Declare @t table(empid int, empname varchar(20), managerID int)
insert into @t
select 1,'A',null union all
select 2,'B',1 union all
select 3,'C',1 union all
select 4,'D',2
我所要做的就是準備一個報告,該報告將顯示哪些員工報告哪位經理。
我一直在使用
select EmpName = e.empname, ManagerName = m.empname
from @t e
left join
@t m
on e.managerID = m.empid
soved它和期望的輸出是
EmpName ManagerName
A NULL
B A
C A
D B
什麼是這樣做的其他方式?
正確的結果,但一般來說,你應該加入並儘量避免子查詢 – niktrs
@niktrs,我同意。我寫了關於OP的最佳解決方案的意見。 –