Get hierarchical structure using SQL Server

后端 未结 4 582
广开言路
广开言路 2021-01-06 09:26

I have a self-referencing table with a primary key, id and a foreign key parent_id.

+------------+--------------+------+-----+-----         


        
4条回答
  •  清歌不尽
    2021-01-06 09:37

    You can use Common Table Expressions.

    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
    

提交回复
热议问题