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

Ambil hierarki induk-anak dari tabel mysql referensi sendiri

MySQL tidak mendukung kueri rekursif, jadi jika seorang anak dapat memiliki anak, tidak ada cara untuk merumuskan kueri semacam itu. Jika tidak, kueri ini akan mengembalikan baris dalam urutan yang Anda butuhkan:

SELECT * FROM tablename
ORDER BY
  CASE WHEN parent_id=0 THEN id ELSE parent_id END,
  id

Silakan lihat biola di sini . Triknya adalah mengurutkan baris dengan id jika itu adalah orang tua atau dengan parent_id jika itu anak-anak, lalu dengan 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. Menyimpan string JSON ke database MySQL

  2. Berurusan dengan kunci utama duplikat pada penyisipan di SQLAlchemy (gaya deklaratif)

  3. Cara membuat skrip login yang aman di PHP dan MySQL

  4. ALTER TABLE tabel AUTO_INCREMENT =$x

  5. Apakah ada cara berbeda untuk mengimplementasikan program ini tanpa menggunakan loop while bersarang?