Eviter la division par zero ...

oBud Messages postés 16 Date d'inscription jeudi 30 septembre 2004 Statut Membre Dernière intervention 11 février 2005 - 27 janv. 2005 à 15:29
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012 - 27 janv. 2005 à 16:58
Bonjour ,
J'ai cette requete :

SELECT SUM(PPV.PPV) / SUM(Forecast.Nombre) AS Coefficient, PPV.Production_order_item
INTO Coeffs
FROM PPV, Forecast
WHERE PPV.Production_order_item = Forecast.PN
AND PPV.`Date` = Forecast.`Date`
GROUP BY PPV.Production_order_item

Il arrive que SUM(Forecast.Nombre) soit égal à 0 ... J'ai donc l'erreur "Division par zéro"

J'aimerais que lorsque SUM(Forecast.Nombre) est egal à 0 la valeur de Coefficient prenne directement 0 sans me renvoyer l'erreur ...

Est-ce possible ?

2 réponses

cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
27 janv. 2005 à 16:39
T'as essayé :

SELECT iif(SUM(Forecast.Nombre)=0,0,SUM(PPV.PPV) / SUM(Forecast.Nombre)) AS Coefficient AS Coefficient

It@li@
0
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012
27 janv. 2005 à 16:58
salut vous :-)



Je croyai que le IIF evaluait les 2 propositions (quelque soit les
circonstance) donc l'erreur je suis pas sûr qu'on passe au travers
comme ça ?



Si c'est le cas on peut peut-être
le résoudre en sql n organisant une clause where sur le predicat
Test != 0 (evidement il faut le rajouter dans la clause select as
Test) ou bien avec une requete imbriquée qui ne ramène que les sum >
0 si ça coince.

madbob
0