Bonjour

Je souhaite faire une requête selon ce modèle:

Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
SELECT MACOLONNE,SUM(CASE
WHEN
(
(
(A=15 AND B<=40)
OR
(A=22 AND B<60)
)
)
THEN MACONDITION ELSE 0 END) AS EN_TETE_COLONNE
FROM MATABLE
GROUP BY MACOLONNE

Mais en rajoutant après le nième 'OR' une condition nécessitant aggrégation comme:

Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT MACOLONNE,SUM(CASE
WHEN
(
(
(A=15 AND B<=40)
OR
(A=22 AND B<60)
OR
(C IN 
(SELECT C
FROM MATABLE
WHERE C IN ('X','Y','Z')
)
)
)
)
THEN MACONDITION ELSE 0 END) AS EN_TETE_COLONNE
FROM MATABLE
GROUP BY MACOLONNE

Et là, message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Impossible d'exécuter une fonction d'agrégation sur une expression, comportant un agrégat ou une sous requête
Comment puis-je m'en sortir?

Merci d'avance