Bonjour,
J'ai actuellement un souci sur une requête.
J'ai 3 tables :
- une composée d'élèves
- une de compétences (anglais, math, etc...)
- Une table de liaison N à N entre les compétences et les élèves, dans cette table se trouve un colonne avec une note de 0 à 5
J'aurais besoin de faire des requêtes pour savoir quels sont les élèves qui ont une note supérieure à 3 dans la compétence 1 et une note supérieure à 2 dans la compétence 40.
Je fais par exemple ce type de requête :
Le problème de ce genre de requête c'est que Mysql la fait de façon procédural.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT * FROM competences_students WHERE (competence_id = 1 AND level in(4,5)) and (competence_id = 40 AND level in(3,4,5)) ;
Il fait d'abord la première condition et dans ces résultats fait la seconde condition.
Si je mets un OR à la place du AND, je récupère trop de résultats.
Est-ce que quelqu'un a une solution ?
Merci
Partager