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

Mysql, Muligt indlejret kategoriproblem

Hvis der ved dette mange er vilkårligt mange niveauer af kategoriindlejring, kan du ikke få fat i dem alle med en enkelt forespørgsel ved at bruge skemamodellen 'forældrereference'. Du bliver nødt til gentagne gange at forespørge børnene i hver kategori, du fandt, rekursivt, eller bare blive ved med at lave længere og længere selvtilmeldinger, indtil du har samlet de mest dybt indlejrede genstande.

For enkeltforespørgselsadgang til hierarkiske data bliver du nødt til at undersøge alternative måder at strukturere skemaet på, primært:

  • Indlejrede sæt :gemmer en numerisk rækkefølge af en rekursiv gang over træet
  • Adjacency Relation :tilføjer ekstra forfader/efterkommerpar til dit barn/forældreopslag

Den ene eller begge af disse tilgange, i en af ​​deres varianter, kan fungere for dig. (Jeg ender normalt med indlejrede sæt, så jeg også får en eksplicit første-til-sidste ordre.)



  1. SQL VISNING

  2. Fjerner tal fra streng i mysql

  3. VÆLG rækker med minimumantal (*)

  4. CHARTOROWID() Funktion i Oracle