Ich schon wieder.
Für alle die etwas ähnliches suche:
Ich habe die Abfrage aus http://msdn.microsoft.com/de-de/library/ms186243.aspx
mal ein bisschen vereinfacht.
Delphi-Quellcode:
USE yourDatenbank;
GO
WITH Organigramm (Chef, Mitarbeiter, Title, Level)
AS
(
-- Anchor member definition
SELECT e.Chef, e.Mitarbeiter, e.Title, 0 AS Level
FROM dbo.myMitarbeiter AS e
WHERE e.Chef IS NULL
UNION ALL
-- Recursive member definition
SELECT e.Chef, e.Mitarbeiter, e.Title, Level + 1
FROM dbo.myMitarbeiter AS e
INNER JOIN Organigramm AS d
ON e.Chef = d.Mitarbeiter
)
-- Statement that executes the CTE
SELECT Chef, Mitarbeiter, Title, Level
FROM Organigramm order BY Level, Chef;
GO
So scheint es zu funktionieren.
Der Tip mit CTE war goldrichtig besten Dank noch mal dafür.