Bonjour tout le monde.
Les explications sont un peu longues mais ça reste somme toute assez simple. J'ai juste essayé de détailler. Voila mon problème :
J'ai deux tables, une appellée Construction et une autre Element.
La table Construction contient un id et une clef externe vers Element.
La table Element contient un id, un champ prerequis et une description.
Ce qui donne :
Construction
-------
id int
typeid int
et
Element
-------
id int
prerequis int
description varchar
Le truc se situe au niveau du champ prerequis, ce champ permet de définir quel id de la table Element est prérequis pour cette ligne là (= à 0 si pas de prérequis).
Par exemple :
id prerequis description
1 0 pneus
2 1 roues
3 2 voiture
Donc dans ma table Element, j'ai des pneus qui ne demandent pas de prérequis et des roues qui demande des pneus comme prérequis (et une voiture des roues).
Maintenant dans ma table Construction, je définis quels éléments j'ai à ma disposition, sachant que je dois aller dans l'ordre des prérequis.
Admettons :
id typeid
1 1
2 2
J'ai donc actuellement des pneus et des roues.
Mes questions :
Quelle requête me permet d'avoir la liste des éléments que je n'ai pas encore mais dont j'ai les prérequis ?
Une requête comme
SELECT Element.description
FROM Construction INNER JOIN
Element ON Construction.typeid = Element .prerequis
Me donne 'roues' et 'voiture', mais j'ai déjà les roues. Je voudrais juste savoir quel élément il me reste à faire. :p
Tous mes remerciements à ceux qui pourront m'aider.
P.S. : je travaille avec mySQL (si ça change quelque chose pour ça mais j'en doute)
Partager