您的预期输出与我有点联系,因为我真的不明白为什么泰勒和布赖恩被展示为他们自己的经理,但为什么Skyler却没有?
以及为什么没有行将Andrew和Sara列为经理?
无论如何,如果我没有误解您的意图,以下应该为您指出方向。
DECLARE @tv TABLE (
[NAME] nvarchar(25),
[LEVEL] nvarchar(10),
MANAGER_NAME nvarchar(25)
)
INSERT INTO @tv VALUES
('Sara','EXEC', ''),
('Andrew','EXEC', 'Sara'),
('Brain','VP', 'Andrew'),
('skyler','RVP', 'Brain'),
('Teyler','DIRECTOR', 'skyler')
;WITH cte([NAME], Manager_name, Reportee_name) AS (
SELECT [NAME], [NAME], [NAME]
FROM @tv
UNION ALL
SELECT
tv.[NAME],
tv.Manager_name,
cte.Reportee_name
FROM @tv tv, cte
WHERE tv.[NAME] = cte.Manager_name
AND tv.Manager_name <> ''
)
SELECT Reportee_name, Manager_name
FROM cte ORDER BY Reportee_name