Aangezien je maar 4 niveaus hebt, zou je geen recursie nodig moeten hebben (hoewel het handig zou zijn om bv. MS SQL CTE's te kunnen gebruiken).
Iets als:
SELECT
t4.uid as child,
--t3.uid as parent,
--t2.uid as grand_parent,
--t1.uid as great_grand_parent,
t1.parentid as great_great_grand_parent
FROM
your_table_name t1
inner join your_table_name t2
on t2.parentid = t1.uid
inner join your_table_name t3
on t3.parentid = t2.uid
inner join your_table_name t4
on t4.parentid = t3.uin
where
t4.uid = '10007' -- your start node.
Als u dit voor meerdere knooppunten moet doen, moet u dit koppelen aan iets dat uw startknooppunten selecteert, of bijvoorbeeld het bovenstaande vervangen WHERE t4.uid = '10007'
clausule moet zijn WHERE t4.uid IN (SELECT DISTINCT uid FROM your_table_name)
Dit is uit de vrije hand gedaan, dus excuses voor typefouten.