Oracle có LEVEL
cột giả
mà bạn có thể sử dụng:
SELECT
myTable.ID,
myTable.ParentID
FROM myTable
WHERE LEVEL = 1
CONNECT BY PRIOR myTable.ID = myTable.ParentID
Để tìm giá trị cấp cao nhất (gốc) từ bất kỳ cấp nào, hãy đặt trước tên cột bằng CONNECT_BY_ROOT
nhà điều hành:
SELECT
myTable.ID,
myTable.ParentID,
CONNECT_BY_ROOT myTable.ID AS "Top Level ID"
FROM myTable
CONNECT BY PRIOR myTable.ID = myTable.ParentID