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

kontrollere værdi i n-dybde træ?

Hvis indlejrede sæt ikke er en mulighed, kender jeg til følgende:

  • Hvis dataene er ordnet, så børn af en forælder altid følger efter dens forælder, kan du løse dette med én database-forespørgsel over alle data ved at springe skjulte noder over i outputtet.

Dette fungerer på samme måde med et sorteret indlejret sæt, princippet er også beskrevet i dette svar Algoritmerne om at få dybden virker dog ikke, og jeg vil foreslå en rekursiv iterator der er i stand til at fjerne skjulte elementer.

Hvis dataene ikke er ordnet, kan du også oprette en træstruktur fra den (usorterede) forespørgsel for alle rækker som beskrevet i svaret til Indlejret array. Tredje niveau forsvinder . Ingen rekursion nødvendig, og du får en struktur, du nemt kan udskrive, så skulle jeg have dækket det for <ul>/<li> html-stil output i et andet svar også.



  1. Lukning/pooling af MySQL ODBC-forbindelser

  2. Indre sammenføjning &ydre sammenføjning; er rækkefølgen af ​​borde i fra vigtig?

  3. Ydelsestest ved hjælp af MySQLdump og MySQL Shell Utility

  4. Kan du tilføje en hvis-erklæring i ORDER BY?