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

Свързване чрез предходен еквивалент за MySQL

MySQL не поддържа рекурсивни заявки, така че трябва да го направите по трудния начин:

  1. Изберете редовете, където ParentID = X където X е вашият корен.
  2. Съберете Id стойности от (1).
  3. Повторете (1) за всеки Id от (2).
  4. Продължете да повтаряте на ръка, докато намерите всички листни възли.

Ако знаете максимална дълбочина, тогава можете да присъедините вашата таблица към себе си (с помощта на LEFT OUTER JOIN) до максималната възможна дълбочина и след това да почистите NULL.

Можете също да промените представянето си в дърво на вложени набори .



  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 на mysqli?

  3. Най-добрите начини за поправяне на повредена таблица InnoDB в MySQL

  4. Как да промените размера на max_allowed_packet

  5. Мога ли да обединя множество MySQL редове в едно поле?