Mysql
 sql >> база данни >  >> RDS >> Mysql

проверка на стойността в дърво с n-дълбочина?

Ако вложените набори не са опция, знам за следното:

  • Ако данните са подредени така, че децата на родител винаги да следват след неговия родител, можете да решите това с една заявка към база данни върху всички данни, като пропуснете скритите възли в изхода.

Това работи еднакво и с сортиран вложен набор, принципът е описан в този отговор обаче алгоритмите за получаване на дълбочина не работят и бих предложил рекурсивен итератор който може да премахва скрити елементи.

Също така, ако данните не са подредени, можете да създадете дървовидна структура от (несортирана) заявка на всички редове, както е описано в отговорът на Вложен масив. Трето ниво изчезва . Не е необходима рекурсия и получавате структура, която можете лесно да изведете тогава, трябваше да покрия това за <ul>/<li> HTML стил извежда и в друг отговор.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL дизайн с динамичен брой полета

  2. Номерът на Mysql int(11) е извън обхвата

  3. MYSQL - Разделяне на данни на множество реда

  4. MySQL Заобикаляне на грешка 1093

  5. Синтаксис на SQL ALTER TABLE – Изброен от СУБД