J'ai une table qui contient uniquement les relations entre les groupes pour une application qui peut avoir une quantité infinie de sous-groupes.Sélection récursive de la plus grande récursivité dans MySQL
CREATE TABLE `shop_groups_group_rel` (
`id_group` int(11) NOT NULL,
`id_parent` int(11) NOT NULL,
`type` enum('shop','group') NOT NULL
);
Le type "shop" signifie essentiellement son top. Maintenant je dois pouvoir obtenir le groupe le plus haut pour n'importe quel groupe que je pourrais analyser. J'ai regardé dans la syntaxe de LOOP de MySQL mais je ne peux pas comprendre comment mélanger ceci avec des requêtes réelles sur la base de données . Est-ce que quelqu'un peut me donner un indice quant à la façon dont je pourrais être en mesure de sélectionner récursivement le groupe parent jusqu'à ce que je sois dans le groupe le plus haut? Je sais que cela peut être risqué vu qu'il peut y avoir une quantité infinie de sous-groupes mais en pratique cela ne sera jamais plus de 2 ou 3 sous-groupes et je peux facilement imposer une limite stricte à cela.
Merci
Merci Rob, c'est en effet quelque chose que je peux faire, je n'ai même pas pensé à ça. J'aimerais toujours savoir si c'est possible de le faire dans une boucle si. Mais pour l'instant votre solution fera l'affaire, il ne devrait jamais y avoir plus de 3/4 sous-groupes. – Naatan
Avec MySQL, vous ne pouvez faire que la "boucle" dans une procédure stockée car elle ne supporte pas les requêtes récursives (contrairement à PostgreSQL ou Firebird). –