MySQL не поддържа рекурсивни заявки, така че трябва да го направите по трудния начин:
- Изберете редовете, където
ParentID = X
къдетоX
е вашият корен. - Съберете
Id
стойности от (1). - Повторете (1) за всеки
Id
от (2). - Продължете да повтаряте на ръка, докато намерите всички листни възли.
Ако знаете максимална дълбочина, тогава можете да присъедините вашата таблица към себе си (с помощта на LEFT OUTER JOIN) до максималната възможна дълбочина и след това да почистите NULL.
Можете също да промените представянето си в дърво на вложени набори .