sql >> Database teknologi >  >> RDS >> Mysql

Flad et træ i MySQL?

Ved at bruge dit eksempel kunne du arbejde ud af undergruppen af ​​forældrenavne i børn, hvis forældrenavne skulle være indeholdt i pårørendes navne. Hvis ja, overvej en fagforeningsforespørgsel:

# 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;

Juster selvfølgelig Len() , Left() , eller Mid() strengfunktioner og udvide (dvs. børnebørn) i overensstemmelse med det faktiske Ancestry-navnemønster. Denne løsning vil ikke fungere, hvis der ikke er nogen henvisning til forældre i underordnede strengværdier.



  1. returner group_concat-data som array

  2. Sådan giver du adgang til v$-visninger (v$session ,v$instance)

  3. Værktøj til at importere CSV-filer til MySQL-database?

  4. MySql - Versalfølsomt problem af tabeller på anden server