Zdá se, že váš problém spočívá v tom, že používáte nenormalizovaný návrh tabulky. Pokud je dané ID má vždy stejné ParentID , tento vztah by neměl být uveden samostatně ve všech těchto řádcích.
Lepším návrhem by bylo mít jedinou tabulku zobrazující vztahy nadřazeného potomka s ID jako primární klíč a druhou tabulku zobrazující mapování ID na ObjectID , kde předpokládám, že oba sloupce dohromady budou obsahovat primární klíč. Potom byste použili svůj hierarchický dotaz na první tabulku a spojili výsledky této tabulky s druhou tabulkou, abyste získali relevantní objekty pro každý řádek.
Můžete to emulovat s vaší aktuální strukturou tabulky ...
with parent_child as (select distinct id, parent_id from table),
tree as (select id, parent_id from parent_child
start with parent_id = 0
connect by prior id = parent_id )
select id, table.parent_id, table.object_id
from tree join table using (id)