MySQL nie obsługuje zapytań rekurencyjnych, więc musisz to zrobić na własnej skórze:
- Wybierz wiersze, w których
ParentID = X
gdzieX
jest twoim rootem. - Zbierz
Id
wartości od (1). - Powtórz (1) dla każdego
Id
od (2). - Kontynuuj ręczne powtarzanie, aż znajdziesz wszystkie węzły liści.
Jeśli znasz maksymalną głębokość, możesz dołączyć swój stół do siebie (używając LEWYCH ZŁĄCZEŃ ZEWNĘTRZNYCH) do maksymalnej możliwej głębokości, a następnie wyczyścić wartości NULL.
Możesz także zmienić reprezentację drzewa na zestawy zagnieżdżone .