Mettre une condition if dans une requete sql
bonjour,
je souhaiterais effectuer une requete qui me remonte un total mais qui peut être multiplié par 2 selon si le champ bonus est égale à 1 ou pas.
comment dois je faire dans mon sql????
Code:
1 2 3 4 5
| select ac.nom, ac.prenom, (w_af.fas + (12 * w_af.abo)) as total, w_af.bonus
from acteur ac, w_affaire w_af
where w_af.ident_acteur = ac.ident_acteur
and w_af.date_supp = '31/12/9999'
and w_af.eligible = 1; |
dans la requete c'est le champ total que je souhaite multiplier par 2 si bonus = 1 sinon laisser la valeur de total.
Re: Mettre une condition if dans une requete sql
Citation:
Envoyé par Sardonnen
bonjour,
je souhaiterais effectuer une requete qui me remonte un total mais qui peut être multiplié par 2 selon si le champ bonus est égale à 1 ou pas.
comment dois je faire dans mon sql????
Code:
1 2 3 4 5
| select ac.nom, ac.prenom, (w_af.fas + (12 * w_af.abo)) as total, w_af.bonus
from acteur ac, w_affaire w_af
where w_af.ident_acteur = ac.ident_acteur
and w_af.date_supp = '31/12/9999'
and w_af.eligible = 1; |
dans la requete c'est le champ total que je souhaite multiplier par 2 si bonus = 1 sinon laisser la valeur de total.
essaye avec un decode :
select ac.nom, ac.prenom, decode(w_af.bonus,1,(w_af.fas + (12 * w_af.abo))*2,(w_af.fas + (12 * w_af.abo)))
from acteur ac, w_affaire w_af
where w_af.ident_acteur = ac.ident_acteur
and w_af.date_supp = '31/12/9999'
and w_af.eligible = 1;[/