且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用SQL Server获取层次结构

更新时间:2023-02-05 20:35:17

您可以使用公用表表达式.

WITH LeveledSiteMap(Id, Name, Level)
AS
(
    SELECT Id, Name, 1 AS Level
    FROM MySiteMap
    WHERE Parent_Id IS NULL
    UNION ALL
    SELECT m.Id, m.Name, l.Level + 1
    FROM MySiteMap AS m
        INNER JOIN LeveledSiteMap AS l
        ON m.Parent_Id = l.Id
)
SELECT *
FROM LeveledSiteMap