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

Meratakan pohon di MySQL?

Dengan menggunakan contoh Anda, Anda dapat mengerjakan bagian dari nama orang tua pada anak-anak jika nama orang tua terkandung di dalam nama tanggungan. Jika demikian, pertimbangkan kueri gabungan:

# GREAT-GRANDPARNTS
SELECT DISTINCT Null As Parent, Parent As Dependent
FROM Ancestry
WHERE Len(Parent) = 1

UNION

# GRANDPARNTS
SELECT DISTINCT Left(Parent, 1) As Parent, Parent As Dependent
FROM Ancestry
WHERE Len(Parent) = 3

UNION

# PARENTS
SELECT DISTINCT Left(Child, 1) As Parent, Child As Dependent
FROM Ancestry
WHERE Len(Child) > 3

UNION

# CHILDREN
SELECT DISTINCT Left(Child, 3) As Parent, Child As Dependent
FROM Ancestry
WHERE Len(Child) > 3;

Tentu saja sesuaikan Len() , Left() , atau Mid() string berfungsi dan diperluas (yaitu, cucu) sesuai dengan pola nama Leluhur yang sebenarnya. Solusi ini tidak akan berfungsi jika tidak ada referensi orang tua dalam nilai string anak.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jqGrid Bertindak Aneh Memuat Ulang Data Setelah Memasukkan dan Memperbarui

  2. Tolong jelaskan MySQL Joins dalam bahasa sederhana

  3. MySQL FULLTEXT Cari di>1 Tabel

  4. meraih baris pertama hanya dalam kueri mysql

  5. MySQL FULL JOIN tidak berfungsi tetapi RIGHT dan LEFT join berfungsi