mehdou | J'ai trouv' une solution tres math mais bon ça marche
Code :
- SELECT
- TAB1.nom,POWER(-1,TAB1.neg)*exp(NVL(TAB1.multiprix,ln(1)))*exp(NVL(TAB2.multiprix,ln(1)))*NVL(TAB3.multiprix,1)
- FROM
- (SELECT nom, Sum(DECODE(sign(prix),-1,ln(abs(prix)),NULL)) multiprix, sum(DECODE(sign(prix),-1,1,0)) neg
- FROM Table1
- GROUP BY nom) TAB1,
- (SELECT nom, Sum(DECODE(sign(prix),1,ln((prix)),NULL))multiprix
- FROM Table1
- GROUP BY nom) TAB2,
- (SELECT nom, Sum(DECODE(sign(prix),0,prix,NULL))multiprix
- FROM Table1 GROUP BY nom) TAB3
- WHERE TAB1.NOM=TAB3.nom and TAB1.NOM=TAB2.nom
- ;
|
|