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 :
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 moteur de la base de donnée retourne comme erreur :
Débordement BCD
Le CASE WHEN sert à tester que la valeur du dénominateur ne soit pas nulle. Je ne sais pas quoi faire.

Avez-vous une idée ?

Merci.