Bonjour, j'ai une requête ou je dois utiliser des Case. J'ai simplifié ici pour le besoin.
Quand j'utilise un Case, cela donne un contage que je sais invalide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT Asso, 
Case when (mac.debut <= '2010-06-30')  and (mac.debut >= '2009-07-01')
then Sum(mac.fin - mac.debut) end as jrs
FROM `cumul`.`fmr1mac` mac
group by asso;
 
Asso	jrs
	NULL
AF	NULL
AH	NULL
AI	NULL
AJ	NULL
AK	NULL
Voici la même requête avec la même condition dans un Where et voilà le résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT Asso, Sum(mac.fin - mac.debut) as jrs
FROM `cumul`.`fmr1mac` mac
where (mac.debut <= '2010-06-30') and (mac.debut >= '2009-07-01')
group by asso;
 
Asso	jrs
	10109
AF	9929
AH	10123452
AI	9615993
AJ	6734392
AK	5340157
Je ne vois pas ou je fais une erreur de logique ou autre.

Merci pour votre aide.