[MySQL] Select
SeB
-
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
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
A voir également:
- [MySQL] Select
- Mysql community download - Télécharger - Bases de données
- Please select boot device - Forum Windows
- Select boot mode android - Guide
- Reboot and select proper boot device asus - Forum Matériel & Système
- Mysql error 2002 ✓ - Forum Linux / Unix
2 réponses
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.
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.
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
J'en profite pour m'auto-corriger :
NODES = SELECT id, title FROM table WHERE id IN(TAB[node_path]) ORDER BY node_level