Nah, masalah Anda tampaknya adalah Anda menggunakan desain tabel yang tidak dinormalisasi. Jika diberikan ID
selalu memiliki ParentID
yang sama , hubungan tersebut tidak boleh ditunjukkan secara terpisah di semua baris ini.
Desain yang lebih baik adalah memiliki satu tabel yang menunjukkan hubungan induk anak, dengan ID
sebagai kunci utama, dan tabel kedua menunjukkan pemetaan ID
ke ObjectID
, di mana saya menganggap kedua kolom bersama-sama akan terdiri dari kunci utama. Kemudian Anda akan menerapkan kueri hierarkis Anda ke tabel pertama, dan menggabungkan hasilnya ke tabel lain untuk mendapatkan objek yang relevan untuk setiap baris.
Anda dapat meniru ini dengan struktur tabel Anda saat ini ...
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)