[MySQL] Select

SeB -  
 SeB -
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

  1. PhP Messages postés 1774 Statut Membre 606
     
    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
  2. SeB
     
    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