Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mendapatkan semua anak (dan anak-anak mereka) dari simpul induk yang diberikan dalam tabel relasional MySQL/MariaDB

Cek ini. Nilai yang ditentukan dalam @pv :='6' harus disetel ke id induk yang ingin Anda temukan semua turunannya.

Anda juga dapat memeriksa Demo diperbarui langsung

            select  Parent, concat ( "{" ,Parent,",",GROUP_CONCAT(concat (child )SEPARATOR ','),"}")   as Child
            from    (select * from #TableName
                     order by parent, child) s,
                    (select @pv := '6') initialisation
            where   find_in_set(parent, @pv) > 0
            and     @pv := concat(@pv, ',', child);

Untuk menampilkan anak-anak dengan orang tua ke dalam satu kolom, gunakan kueri di bawah ini:

            select parent as child from tchilds where parent = @pv2
            union
            select  Child
            from    (select * from tchilds
                     order by parent, child) s,
                    (select @pv2 := '6') initialisation
            where   find_in_set(parent, @pv2) > 0
            and     @pv2 := concat(@pv2,',', child)

beri tahu kami jika Anda masih memiliki pertanyaan atau masalah.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri SQL Maksimum per halaman

  2. Hitung akurasi kumpulan data

  3. Masalah pengumpulan, Apakah mungkin untuk menurunkan/mengonversi dari utf8mb4_unicode_ci ke utf8_general_ci?

  4. Salin massal DataTable ke MySQL (mirip dengan System.Data.SqlClient.SqlBulkCopy)

  5. MySQL mengekstrak plaintext dari data html atau PHP?