ACCESS - Comment prendre des données à certaines conditions?

cs_tchoukette Messages postés 32 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 12 janvier 2006 - 10 nov. 2005 à 14:26
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 10 nov. 2005 à 16:04
Bonjour,

D'une base de données externe à celle sur laquelle je travaille, je dois exporter des données... - là ça va-

Mais il ya des conditions:
J'ai 3 champs de prix pour chaque composant, à savoir que par défaut je dois prendre si le prix n°2, sinon le 3eme et en dernier recours le prix n°1
De ce prix, dépend l'incoterm au nombre de 3, et je dois prendre celui qui dépend du prix
Ex: pour le prix n°2, je dois prendre l'incoterm n°2

Merci d'avance pour l'aide!

au secours!!

2 réponses

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
10 nov. 2005 à 16:00
salut
essaie comme ca

select [liste de champs],
case when (prix2 is not null) then prix2 else
case when (prix3 is not null) then prix3 else
prix1
end
end
prix
from maTable

atention, en fonction de ton sgbdr, il faudra peut etre changer la syntaxe pour verifier si le champs est null ou pas (celle ci fonctionne sous SQL server), mais tu n'as pas precisé sous quoi tu travaille.
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
10 nov. 2005 à 16:04
ou sinon tu as une autre solution, peut etre plus simple :

SELECT [liste champs], ISNULL(chp2, ISNULL(chp3, chp1)) AS prix
FROM maTable

la fonction ISNULL(param1, param2) test si param1 est null, et si c'est le cas, le remplace par param2

idem, je ne suis pas sur que ca marche comme ca sur tout les SGBDR, mais il doit y avoir un equivalent (sous oracle je crois que c'est NVL, mais je ne suis pas sur non plus...)
0
Rejoignez-nous