【发布时间】:2021-05-13 16:31:31
【问题描述】:
我需要将我的 Oracle 查询转换为 SQL Server。
查询会根据用户名生成一个“管理层级”。输出将有一个管理链,其中最后一个元素是当前管理器。
表:
EE_USERNAME MGR_USERNAME
user1 ceo
user2 user1
user3 user2
user4 user1
user5 user2
user6 user3
样本输出:
user1: ceo
user2: ceo,user1
user3: ceo,user1,user2
user4: ceo,user1
user5: ceo,user1,user2
user6: ceo,user1,user2,user3
我的 Oracle 查询:
SELECT EMPLOYEE_DATA.* , SYS_CONNECT_BY_PATH(MGR_USERNAME, ',') "Path"
FROM EMPLOYEE_DATA
START WITH MGR_USERNAME = 'ceo'
CONNECT BY NOCYCLE prior EE_USERNAME = MGR_USERNAME
此查询的 SQL Server 等效项是什么?
【问题讨论】:
-
您可能想要研究递归 CTE。
标签: sql sql-server tsql common-table-expression recursive-query