Bonjour à toutes et à tous !

J'ai un souci de requêtes SQL, qui a une bonne syntaxe, mais me retourne un mauvais résultat.

Je vous pose le requête et je vous l'explique:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SELECT voitures.id
FROM voitures
LEFT OUTER JOIN roues ON roues.voiture_id = voitures.id
LEFT OUTER JOIN portes ON portes.voiture_id = voitures.id
GROUP BY voitures.id
HAVING count(roues.id) > 6 AND count(portes.id) > 4
Je cherche a sélectionner les id des voitures dont le nombre de roues est supérieur à 6 ET dont le nombre de portes est supérieur à 4.

La requête fonctionne, me renvoit bien les ids groupés. Seuelement, le résultat est faux.

Ce que la requêtes me renvoit c'est les ids des voitures qui ont 6 roues OU 4 portes. Alors que je veux biensûr que ces deux conditions soient remplies !

Quelqu'un a-t-il une idée de ce qu'il se passe ?

Pour info: MySQL 5
Pour info 2: le coup des voitures c'est pour l'exemple hein, je sais bien que des voitures à 6 roues c'est assez rare !

Merci,
Jérémy