[SQL] OR inclusif? question inside [NewB]

OR inclusif? question inside [NewB] [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 14-04-2003 à 17:55:31    

:hello:
 
je suis en train de réfléchir sur des requêtes SQL (qui devront marcher sous Oracle) et je me pose une question étant donné que je n'ai pas accès pour le moment à l'interface sqlplus:
 
si je veux faire une recherche sur plusieurs champs, disons A,B,C (chacun étant facultatif). Si l'utilisateur ne rentre des données que pour A et C par exemple
 
A="foo" OR
B="" OR
C="bar"
instanciation de A=:a OR B=:b OR C=:c
 
comment obtenir le même résultat que  
A="foo" AND
C="bar"
 
mais ceci en tenant compte du champs B qui est comparé à une chaîne vide!
 
edit: je précise que c pour intégrer à un programme C
et comme je sais pas si c très clair demandez moi des précisions ;)


Message édité par kaloskagatos le 14-04-2003 à 18:09:39

---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »
Reply

Marsh Posté le 14-04-2003 à 17:55:31   

Reply

Marsh Posté le 15-04-2003 à 20:08:44    

:bounce:


---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »
Reply

Marsh Posté le 15-04-2003 à 20:24:19    

Il faut concaténer les conditions. Tu construit dynamiquement la requête en ajoutant les tests pour les varibles qui sont positionnées.
Un truc du genre :
if (longueur(ChampA) > 0)
    where = where . " AND A=" . ChampA


Message édité par mrbebert le 15-04-2003 à 20:24:38
Reply

Marsh Posté le 15-04-2003 à 20:34:49    

:) ok je vais creuser dans ce sens, je reviendrai poser des questions si je comprends pas. déjà merci je suis sur la vois :hello:


---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed