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

Sql Self bergabung dengan kueri? Bagaimana cara mendapatkan kategori sub kategori?

Untuk kedalaman maksimum 6 (termasuk root), Anda dapat menggunakan ini

select l0.catID,
    concat(
      case when l5.catID is null then '' else concat(l5.category, '/') end
    , case when l4.catID is null then '' else concat(l4.category, '/') end
    , case when l3.catID is null then '' else concat(l3.category, '/') end
    , case when l2.catID is null then '' else concat(l2.category, '/') end
    , case when l1.catID is null then '' else concat(l1.category, '/') end
    , l0.category)
from catcat l0
left join catcat l1 on l0.parentID=l1.catID
left join catcat l2 on l1.parentID=l2.catID
left join catcat l3 on l2.parentID=l3.catID
left join catcat l4 on l3.parentID=l4.catID
left join catcat l5 on l4.parentID=l5.catID

Perluas pola sesuai kebutuhan untuk kedalaman maksimal yang lebih lama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tanggal mysql menunjukkan hasil hari ini/kemarin/minggu

  2. Apakah batas jumlah maksimum tabel gabungan SQL berlaku untuk seluruh kueri, atau apakah subkueri dihitung secara terpisah?

  3. Bagaimana cara menjumlahkan string yang dipisahkan koma dalam SQL?

  4. Hapus catatan duplikat dari tabel tanpa pk atau id atau kolom unik di mysql

  5. MySQL Dapatkan Waktu Sisipan Rekaman Lama?