我有下表的值
CREATE TABLE #tmpEmployee(ID int, EmpName varchar(50), EmpBossID int)
insert into #tmpEmployee values ( 1, 'Abhijit', 2);
insert into #tmpEmployee values ( 2, 'Haris', 3);
insert into #tmpEmployee values ( 3, 'Sanal', 0);
现在我要结果成为跟随
ID EmpName BossName
1 Abhijit Haris
2 Haris Sanal
所以我写了下面的查询。
select E1.ID,E1.EmpName, E.EmpName as BossName from #tmpEmployee E inner join #tmpEmployee E1 on E1.EmpBossID=E.ID.
但是问题是第3名员工(Sanal)没有老板。
所以我想要这个确切的结果:
ID EmpName BossName
1 Abhijit Haris
2 Haris Sanal
3 Sanal Null
我应该怎么办?
最佳答案
使用权利加入
select E1.ID,E1.EmpName, E.EmpName as BossName from #tmpEmployee E right join #tmpEmployee E1 on E1.EmpBossID=E.ID
ID EmpName BossName
1 Abhijit Haris
2 Haris Sanal
3 Sanal NULL
我觉得你还可以
关于sql - 编写自我联接查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17417592/