Mysql
 sql >> Baza danych >  >> RDS >> Mysql

sprawdzanie wartości w drzewie n-głębokości?

Jeśli zagnieżdżone zestawy nie są opcją, wiem o następujących rzeczach:

  • Jeśli dane są uporządkowane w taki sposób, że dzieci rodzica zawsze podążają za rodzicem, możesz rozwiązać ten problem za pomocą jednego zapytania do bazy danych dotyczącego wszystkich danych, pomijając ukryte węzły w danych wyjściowych.

Działa to tak samo w przypadku posortowanego zestawu zagnieżdżonego, zasada została opisana w tej odpowiedzi jednak algorytmy dotyczące uzyskiwania głębokości nie działają i sugerowałbym iterator rekurencyjny który jest w stanie usunąć ukryte elementy.

Jeśli dane nie są uporządkowane, możesz utworzyć strukturę drzewa z (nieposortowanego) zapytania dotyczącego wszystkich wierszy, jak opisano w odpowiedź na Zagnieżdżona tablica. Trzeci poziom znika . Rekurencja nie jest potrzebna i otrzymujesz strukturę, którą możesz łatwo wyprowadzić, powinienem to omówić dla <ul>/<li> Wyjście w stylu html w innej odpowiedzi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć uniwersalną aplikację W10 z bazą danych MySQL?

  2. Zmień krok auto_increment pól inkrementacji o

  3. Host „xxx.xx.xxx.xxx” nie może połączyć się z tym serwerem MySQL

  4. Nielegalna mieszanka zestawień dla operacji „concat”

  5. PHP - łączenie się z bazą danych mysql z innego serwera