Puedes unir perfectamente la mesa consigo misma.
Sin embargo, debe tener en cuenta que su diseño le permite tener múltiples niveles de jerarquía. Dado que está utilizando SQL Server (suponiendo que sea 2005 o superior), puede hacer que un CTE recursivo obtenga su estructura de árbol.
Prueba de preparación de concepto:
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');
Consulta 1 - Niveles de nodo:
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