Bạn hoàn toàn có thể tự mình tham gia vào bàn chơi.
Tuy nhiên, bạn nên biết rằng thiết kế của bạn cho phép bạn có nhiều cấp độ phân cấp. Vì bạn đang sử dụng SQL Server (giả sử năm 2005 trở lên), bạn có thể có một CTE đệ quy lấy cấu trúc cây của bạn.
Bằng chứng về việc chuẩn bị khái niệm:
declare @YourTable table (id int, parentid int, title varchar(20))
insert into @YourTable values
(1,null, 'root'),
(2,1, 'something'),
(3,1, 'in the way'),
(4,1, 'she moves'),
(5,3, ''),
(6,null, 'I don''t know'),
(7,6, 'Stick around');
Truy vấn 1 - Cấp độ nút:
with cte as (
select Id, ParentId, Title, 1 level
from @YourTable where ParentId is null
union all
select yt.Id, yt.ParentId, yt.Title, cte.level + 1
from @YourTable yt inner join cte on cte.Id = yt.ParentId
)
select cte.*
from cte
order by level, id, Title