Hvis du bruger SQL Server 2005 eller nyere, kan du bruge rekursive forespørgsler til at få dine oplysninger. Her er et eksempel:
With tree (id, Name, ParentID, [level])
As (
Select id, Name, ParentID, 1
From [myTable]
Where ParentID = 0
Union All
Select child.id
,child.Name
,child.ParentID
,parent.[level] + 1 As [level]
From [myTable] As [child]
Inner Join [tree] As [parent]
On [child].ParentID = [parent].id)
Select * From [tree];
Denne forespørgsel returnerer den række, der anmodes om af den første del (hvor ParentID =0) og alle underrækker rekursivt. Hjælper dette dig?
Jeg er ikke sikker på, at jeg forstår, hvad du vil have, der skal ske med din indsats. Kan du give flere oplysninger med hensyn til det forventede resultat, når du er færdig?
Held og lykke!