【发布时间】:2010-12-06 18:06:47
【问题描述】:
我有下面的 CTE 在递归员工表和构建传递给它的员工 ID 的扩展列表以及所有直接和间接报告方面运行良好。
我正在尝试让姐妹 CTE 使用用户名而不是员工 ID,但在进行更改后我没有收到任何数据...
这是我与 employeeID 的工作代码,我怎样才能让它与 NTID(员工)和 managerNTID(经理)一起工作
CREATE FUNCTION fnGetEmployeeHierarchy
(
@EmployeeId int = null
)
RETURNS TABLE
AS
RETURN
(
WITH yourcte AS
(
SELECT EmployeeId, ManagerID, NTID, FullName--, Name
FROM Employees
WHERE EmployeeId = isnull(@EmployeeId,EmployeeId)
UNION ALL
SELECT e.EmployeeId, e.ManagerID, e.NTID, e.FullName--, e.Name
FROM Employees e
JOIN yourcte y ON e.ManagerID = y.EmployeeId
)
SELECT EmployeeId, ManagerID, NTID, FullName--, Name
FROM yourcte
)
【问题讨论】:
标签: sql-server-2005 common-table-expression