WITH RecursiveCTE AS (
SELECT id, ParentId, CAST(name AS NVARCHAR(MAX)) AS path
FROM t_WorkOrder_Type(nolock) WHERE id = @childId -- 这里@childId为要查询的子级ID
UNION ALL
SELECT t.id, t.ParentId, CAST((t.name + '-' + rcte.path) AS NVARCHAR(MAX))
FROM t_WorkOrder_Type(nolock) t INNER JOIN RecursiveCTE rcte ON t.id = rcte.ParentId
)
SELECT top 1 path FROM RecursiveCTE order by id asc
SQlServer 用子id递归查询name并用“-“拼接name
![](https://img-home.csdnimg.cn/images/20240711042549.png)