[MySQL] Select

Fermé
SeB - 9 juin 2006 à 15:19
 SeB - 9 juin 2006 à 15:43
Bonjour, j'ai une table avec cette structure :

id
title
node_path
node_level

Il s'agit d'une arborescence.

Actuellement, je fais deux requêtes pour récupérer le tableau des noeuds en fonction d'un id :

TAB = SELECT id, title, node_path FROM table WHERE id = 6

NODES = SELECT id, title FROM table WHERE node_path = TAB[node_path] ORDER BY node_level

Est-il possible de ne faire qu'une seule requête ?

Merci

2 réponses

PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
9 juin 2006 à 15:30
Bjr,

Je ne pense pas ... Peut être avec MySQL 5 qui est censé supporter les requêtes imbriquées et encore ...

De toutes façons les bases de données (hormis les bases de données objets) ne sont pas adapter au stockage des structures arborescentes surtout si celle-ci est complexe : c'est toujours du bricolage.



0
Merci, ça a le mérite d'être clair. J'avais lu que SQL n'était pas adapté pour le récursif mais j'espérais qu'il existe une méthode pour faire une requête sur au moins "un niveau".

J'en profite pour m'auto-corriger :

NODES = SELECT id, title FROM table WHERE id IN(TAB[node_path]) ORDER BY node_level
0