Bonjour

J'ai 3 tables: fiche (IdFiche, Nom, ...), passages (IdPassage, IdFiche, DatePassage, ...) et piecesjointes (IdPieceJointe, IdFiche, DateCre, ...).
Je dois récupérer la liste des fiches n'ayant aucune pièce jointe ni aucun passage datant de moins de 18 mois.
J'ai donc fait la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT COUNT(fe.IdFiche) AS NbFiches
FROM fiche AS fe
LEFT JOIN passages AS p ON fe.IdFiche = p.IdFiche AND p.DatePassage > NOW() - INTERVAL 18 MONTH
LEFT JOIN piecesjointes AS pj ON fe.IdFiche = pj.IdFiche AND pj.DateCre > NOW() - INTERVAL 18 MONTH
GROUP BY fe.IdFiche
HAVING COUNT(IdPassage) = 0 AND COUNT(IdPieceJointe) = 0
Le petit hic, c'est que au lieu de me renvoyer le nombre n d'éléments, il me renvoie n fois 1. Je sais qu'il me suffirait de compter le nombre de 1, mais je préfèrerais quand même récupérer directement la bonne valeur. Je sais pas vraiment comment résoudre le problème, sur le coup.

PS: je travaille sur MySQL 5.0 en développement et MySQL 3.23 en production (pas le choix de la version, malheureusement)