Je kunt er zelf perfect mee aan tafel.
U moet zich er echter van bewust zijn dat uw ontwerp meerdere hiërarchische niveaus mogelijk maakt. Aangezien u SQL Server gebruikt (uitgaande van 2005 of hoger), kunt u een recursieve CTE uw boomstructuur laten ophalen.
Proof of concept voorbereiding:
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');
Query 1 - Knooppuntniveaus:
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