Table: [員工資料表]
欄位: [主管], [員工]
需求是: 當輸入一個員工姓名, 要把該員工下面所有階層的員工都Show出來
SQL語法:
WITH [員工資料表new] AS (
--找出 [主管] 為 某人的資料當作 依據
SELECT [主管], [員工]
FROM [員工資料表]
WHERE [主管] = 'XXXX'
UNION ALL
--之後以 上面查出的結果 為依據遞迴查詢
SELECT e.[主管], e.[員工]
FROM [員工資料表] e
INNER JOIN [員工資料表new] ecte ON ecte.[員工] = e.[主管]
)
SELECT *
FROM [員工資料表new]
參考網站: [SQL] 遞迴的寫法