La solution donnée n'est pas exacte, car elle ne répond pas a l'expression des besoins du demandeur ...
WHERE c.competence IN (x, y, z)
sera considéré comme un OR, mais il veut un AND !
Ce genre de requête peut vous aider, à tester et adapter !
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| SELECT
c.idPers
FROM
comp_pers c
INNER JOIN
competence e
ON
(e.idComp = c.idcomp)
WHERE
e.competence in (x,y,z)
GROUP BY
c.idPers
HAVING
/* Vous pouvez Ecrire
count(1) = 3
Mais si vous essayez de faire une requete
generique, il est peut etre preferable de
passer par ce petit bout de code
*/
count(1) = (
SELECT
Count(1)
FROM
competence
WHERE
competence IN (x,y,z)
) |
Bon courage
Partager