Salut à tous,

J'ai un soucis avec une requête qui comporte un count(*) et un having max().

Ma requête est à la base la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
select L.controle, R.etat, R.dateExec
from ListeControles L, SyntheseResultat R, Campagne C 
where L.campagne = C.codeCamp 
     and L.controle = R.controle 
     and L.campagne like 'ALM' 
     and R.etat = 1 
having max(R.dateExec)
Comme attendu, cette requête me renvoie 1 seule ligne et lorsque je supprime la clause having, elle m'en renvoie 5.

Cependant lorsque je change ma clause select (en conservant ma clause having!) pour que ma requête me renvoie le nombre de lignes trouvées, elle me renvoie 5.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
select count(*)
from ListeControles L, SyntheseResultat R, Campagne C 
where L.campagne = C.codeCamp 
     and L.controle = R.controle 
     and L.campagne like 'ALM' 
     and R.etat = 1 
having max(R.dateExec)
Qui peut me dire où je me trompe?

Merci d'avance!