Bonjour,
Voici mon problème :
Je dispose de 4 tables :
eleves : liste les eleves
competences : liste les competences à acquérir par les élève
competences_validees : liste les competences validées par un élève
exercices : liste les exercices
competences_exercices : liste les competences que traite un exercice.
Mon objectif est de sortir la liste des exercices qu'un élèves peut réaliser à partir des competences qu'il a déjà validées.
Par exemple :
exercice 1 traite des competences 1,2 et 3
exercice 2 traite des competences 1 et 4
L'élève a validé les competences 1,2,3 et 5.
La requête doit me retourner l'exercice 1 uniquement.
Voici la structure générale de ce que j'aimerai faire :
Bien entendu le ALL comme cela n'existe pas, mais j'ai écris cela pour que vous compreniez ce que je cherche à faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT * from exercices e,competences_exercices ce WHERE e.id_exercice = ce.id_exercice AND ALL(ce.id_competence) IN ( SELECT id_competence FROM competences_validees WHERE id_eleve='1')
Mes cours de SQL sont un peu loin dans mon esprit...et je bloque sur cette requête...
Une âme charitable accepterait-elle de m'aider ?
Merci d'avance.
Partager