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

Mendapatkan data hierarki dari tabel referensi mandiri

Jika databasenya adalah SQL 2005/2008 maka...

Cara termudah untuk mendapatkannya adalah menggunakan CTE (Common Table Expression) yang dirancang untuk berulang.

 WITH myCTE (Item_id, Depth)
 AS
 (
    Select Item_ID, 0 as Depth From yourTable where Item_Parent=0
    Union ALL
    Select yourTable.Item_ID, Depth + 1 
    From yourTable 
    inner join myCte on yourTable.item_Parent = myCte.Item_Id
 )

 Select Item_id, Depth from myCTE

Outputnya adalah sebagai berikut:

Item_Id  Depth
    1   0
    2   0
    3   1
    4   1
    5   2

Dari situ Anda dapat memformatnya sesuai keinginan.



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

  2. Cara membuat kata sandi enam karakter di MySQL 5.7

  3. MySQL Pilih:WHERE (waktu sekarang) =ANTARA nilai tabel DAN nilai tabel

  4. Masukkan KE MySQL DARI tabel lain

  5. Campuran ilegal dari susunan (utf8mb4_unicode_ci,IMPLICIT) dan (utf8mb4_general_ci,IMPLICIT) untuk operasi '='