Mysql
 sql >> Base de données >  >> RDS >> Mysql

Connexion par équivalent antérieur pour MySQL

MySQL ne prend pas en charge les requêtes récursives, vous devez donc le faire à la dure :

  1. Sélectionnez les lignes où ParentID = XX est votre racine.
  2. Collectez l'Id valeurs de (1).
  3. Répéter (1) pour chaque Id à partir de (2).
  4. 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 .