Oracle има LEVEL
псевдоколона
които можете да използвате:
SELECT
myTable.ID,
myTable.ParentID
FROM myTable
WHERE LEVEL = 1
CONNECT BY PRIOR myTable.ID = myTable.ParentID
За да намерите стойност от най-високо ниво (основна) от всяко ниво, предшествайте името на колоната с CONNECT_BY_ROOT
оператор:
SELECT
myTable.ID,
myTable.ParentID,
CONNECT_BY_ROOT myTable.ID AS "Top Level ID"
FROM myTable
CONNECT BY PRIOR myTable.ID = myTable.ParentID