Oracle a un LEVEL
pseudo-colonne
que vous pouvez utiliser :
SELECT
myTable.ID,
myTable.ParentID
FROM myTable
WHERE LEVEL = 1
CONNECT BY PRIOR myTable.ID = myTable.ParentID
Pour rechercher une valeur de niveau supérieur (racine) à partir de n'importe quel niveau, faites précéder le nom de la colonne du CONNECT_BY_ROOT
opérateur :
SELECT
myTable.ID,
myTable.ParentID,
CONNECT_BY_ROOT myTable.ID AS "Top Level ID"
FROM myTable
CONNECT BY PRIOR myTable.ID = myTable.ParentID