MySQL ne prend pas en charge les requêtes récursives, vous devez donc le faire à la dure :
- Sélectionnez les lignes où
ParentID = XoùXest votre racine. - Collectez l'
Idvaleurs de (1). - Répéter (1) pour chaque
Idà partir de (2). - Continuez à répéter à la main jusqu'à ce que vous trouviez tous les nœuds feuilles.
Si vous connaissez une profondeur maximale, vous pouvez joindre votre table à elle-même (à l'aide de LEFT OUTER JOIN) jusqu'à la profondeur maximale possible, puis nettoyer les NULL.
Vous pouvez également modifier votre représentation arborescente en ensembles imbriqués .