Requete SQL
Résolu
Locki
Messages postés
225
Statut
Membre
-
Locki Messages postés 225 Statut Membre -
Locki Messages postés 225 Statut Membre -
Bonjour,
J'ai 3 tables (groupe, eleves et group_has_eleve). Un groupe peut avoir plusieurs élèves et un élève peut être dans plusieurs groupe. Relation N-N -> table intermédiaire
Ma question:
Je voudrais afficher tous les groupes qui contiennent 2 élèves spécifiques:
Cette requête m'affiche aussi des groupes qui ne contiennent qu'un seul des 2 élèves (à cause du OR), alors que moi je veux seulement les groupes qui contiennent toto et titi.
Comment faire?
J'ai 3 tables (groupe, eleves et group_has_eleve). Un groupe peut avoir plusieurs élèves et un élève peut être dans plusieurs groupe. Relation N-N -> table intermédiaire
Ma question:
Je voudrais afficher tous les groupes qui contiennent 2 élèves spécifiques:
SELECT groupe_name, eleve_name FROM groupe INNER JOIN group_has_eleve ON id_groupe = fk_groupe INNER JOIN eleves ON id_eleve = fk_eleve WHERE eleve_name = 'toto' OR eleve_name = 'titi'
Cette requête m'affiche aussi des groupes qui ne contiennent qu'un seul des 2 élèves (à cause du OR), alors que moi je veux seulement les groupes qui contiennent toto et titi.
Comment faire?
A voir également:
- Requete SQL
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Sql (+) - Forum Programmation
- Jointure sql ✓ - Forum MySQL
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
Essai ca :
SELECT groupe_name FROM (SELECT DISTINCT groupe_name, eleve_name FROM groupe INNER JOIN group_has_eleve ON id_groupe = fk_groupe INNER JOIN eleves ON id_eleve = fk_eleve WHERE eleve_name IN ('titi', 'toto')) tabTemp GROUP BY groupe_name HAVING COUNT(*) = 2Merci à toi