Salut tout le monde,
j'essai d'ouvrir une requête SQL agrégée avec un champ calculé utilisant un CASE WHEN.
La base de donnée est Oracle 8.
Voici la requête :
Le moteur de la base de donnée retourne comme erreur :
Code : 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
20
21 SELECT WVENTES_VENTES_N_N1.CSERIE_, WVENTES_VENTES_N_N1.CLIBELLESERIE_, SUM (WVENTES_VENTES_N_N1.CQUANTIT__), CASE WHEN SUM(WVENTES_VENTES_N_N1.CQUANTIT__)<>0 THEN SUM(WVENTES_VENTES_N_N1.CCASTANDARD_)/SUM(WVENTES_VENTES_N_N1.CQUANTIT__) ELSE 0 END CPRU_2006_ FROM WVENTES_VENTES_N_N1 WHERE ( WVENTES_VENTES_N_N1.CNUMSOCI_T__ = '0066' AND WVENTES_VENTES_N_N1.CGRANDEFAMILLE_ = '21' AND WVENTES_VENTES_N_N1.CANN_E_ = 2006 ) GROUP BY WVENTES_VENTES_N_N1.CSERIE_, WVENTES_VENTES_N_N1.CLIBELLESERIE_ ORDER BY WVENTES_VENTES_N_N1.CSERIE_, WVENTES_VENTES_N_N1.CLIBELLESERIE_
Le CASE WHEN sert à tester que la valeur du dénominateur ne soit pas nulle. Je ne sais pas quoi faire.Débordement BCD
Avez-vous une idée ?
Merci.
Partager