Bonjour,
J'ai 3 tables qui sont candidats, professions et langues
Les valeurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TABLE candidats ( id INT, nom VARCHAR(100) ); CREATE TABLE professions ( candidat_id INT, profession_id INT ); CREATE TABLE langues ( candidat_id INT, langue_id INT );
Maintenant les requêtes que je souhaite exécutées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 INSERT INTO candidats (id, nom) VALUES (1, "MARTIN"), (2, "DURAND"), (3, "DUPONT"); INSERT INTO professions (candidat_id, profession_id) VALUES (1, 1), (1, 3), (2, 1), (2, 2), (3, 3), (3, 1); INSERT INTO langues (candidat_id, langue_id) VALUES (1, 2), (1, 4), (2, 1), (2, 4), (3, 2), (3, 3);
1) Tous les candidats dont la profession est 1 et 3
Celle là, j'ai réussi de cette manière:
J'obtiens les candidats 1 et 3.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT id FROM candidats JOIN professions ON id = candidat_id WHERE profession_id = 1 OR profession_id = 3 GROUP BY id HAVING count(*) = 2
2) Maintenant la requête que je n'arrive pas à faire: Tous les candidats dont la profession est 1 et 3 et dont la langue est 2 et 4.
Ici je devrais obtenir le candidat 1. Mais je n'ai pas réussi
Si quelqu'un a une idée, je suis preneur.
Partager