versuchen, eine rekursive CTE zu tun, um eine org Char-Hierarchie aus der Tabelle, die ich unten, eine Art von ratlos und hoffe auf Hilfe anzuzeigen.CTE zur Anzeige der Organisationshierarchie?
DECLARE @Org TABLE(
EmployeeID smallint NOT NULL
,ManagerID smallint NULL
,LoginName varchar(50)
);
INSERT @Org
VALUES (1,null,'Peter'),(2,1,'Larry'),(3,1,'John'),
(4,1,'Lisa'), (5,2,'Linda'),(6,3,'Nathan'),
(7,3,'Tom') , (8,3,'Terry'),(9,4,'Lou'),
(10,7,'David'), (11,9,'Ken') ,(12,9,'Robert');
Der Versuch, es zu erhalten, um wie
EmployeeID LoginName ManagerID LEVEL
1 Peter NULL 0
2 Larry 1 1
3 John 1 1
4 Lisa 1 1
9 Lou 4 2
6 Nathan 3 2
7 Tom 3 2
8 Terry 3 2
5 Linda 2 2
10 David 7 3
11 Ken 9 3
12 Robert 9 3
Th Es ist kein CTE. Gibt es mehr Code zu sehen? Möchten Sie nur @Org wie Ihr Tabellenbeispiel ausgeben? Woher kommt "Level"? –
Also gibt es diese 'SELECT EmployeeID, LoginName, ManagerID,' 'AS' LEVEL 'von @ Org', aber keine Ahnung, woher 'LEVEL' zu bekommen. –