Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle terhubung oleh banyak orang tua

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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pilih berbeda (tanggal) kembalikan tanggal yang sama beberapa kali

  2. Bagaimana cara mengetahui id sebelum menyimpan objek di jpa

  3. Pengelompokan/Pemesanan Oracle SQL

  4. Buat ulang Oracle Databse dari file .dbf setelah menginstal ulang Oracle Enterprise 11gR2

  5. Apakah ada cara untuk memberikan pesan kesalahan yang mudah digunakan pada pelanggaran batasan?