Stůl s ním dokonale spojíte sami.
Měli byste si však uvědomit, že váš návrh vám umožňuje mít více úrovní hierarchie. Protože používáte SQL Server (za předpokladu 2005 nebo vyšší), můžete mít rekurzivní CTE získat svou stromovou strukturu.
Doklad o přípravě konceptu:
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');
Dotaz 1 – Úrovně uzlů:
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