Oracle heeft een LEVEL
pseudokolom
die u kunt gebruiken:
SELECT
myTable.ID,
myTable.ParentID
FROM myTable
WHERE LEVEL = 1
CONNECT BY PRIOR myTable.ID = myTable.ParentID
Als u vanaf een willekeurig niveau een waarde op het hoogste niveau (root) wilt vinden, laat u de kolomnaam voorafgaan door de CONNECT_BY_ROOT
operator:
SELECT
myTable.ID,
myTable.ParentID,
CONNECT_BY_ROOT myTable.ID AS "Top Level ID"
FROM myTable
CONNECT BY PRIOR myTable.ID = myTable.ParentID