2012-03-30 13 views
-1

Mögliche Duplizieren:
Employee Manager Report - Sql Serverüber SQL Query?

Ich habe eine Employee Tabelle wie folgt aus:

Eno Ename Mangerid 
1 X  Null 
2 Y  1 
3 Z  2 

aber ich führen möchte, wie unten

gezeigt
Ename Managername 
X  Null 
Y  X 
Z  y 

Kann mir jemand gibt die Antwort dafür?

Vielen Dank im Voraus

+0

Etwas, das Sie interessieren könnte, ist verschachtelte Sätze. Joe Celko hat einige wirklich gute Artikel darauf. siehe: (Bäume in SQL) http://www.ibase.ru/devinfo/DBMSTrees/sqltrees.html –

Antwort

2

Dies sollte funktionieren:

select 
    e.Ename, 
    m.Ename as ManagerName 
from employee e 
left join employee m on e.ManagerId = m.Eno 
+0

Danke, es funktioniert – mani654

0
select e1.Ename employee, e2.Ename manager 
from employee e1 
join employee e2 on e1.ManagerId = e2.Eno 
+0

Dank, aber es gibt das Ergebnis als YX und ZY – mani654

0

Use Self Join auf Mitarbeiter Tabelle

SELECT EMPLOYEE.ENAME as EmployeeName, EMPLOYEE.ENO as ManagerName 
FROM EMPLOYEE 
INNER JOIN EMPLOYEE AS EMPLOYEE_1 
ON EMPLOYEE.ENO = EMPLOYEE_1.MANEGERID 

+0

Dank, aber es gibt das Ergebnis als YX und ZY – mani654

0
Select e.Name, (select m.name from Employee M where M.Eno =e.Mangerid) as Manager 
from Employee e