Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 05/01/2014 08:42:25
- CHR
- Membre
[RESOLU] SELECT WHERE avec différents critères
Bonjour à tous, encore une petite question...
J'ai une requête que je récupère dans XL (ODBC + MS-QUERY) et qui fonctionne très bien, simplement j'ai un souci avec la syntaxe du query lorsque je veux récupérer toutes les données, un peu comme si je n'avais pas mis la condition.
Par exemple:
SELECT * from job.job_contrats where job.job_contrats.type_id = '1'
peut devoir devenir
SELECT * from job.job_contrats where job.job_contrats.type_id in('1','12','14')
voire
SELECT * from job.job_contrats
si l'utilisateur veut voir tous les types de contrats
Merci pour l'aide si vous avez une idée.
chr
Dernière modification par CHR (16/01/2014 22:16:11)
Hors ligne
#2 05/01/2014 16:55:39
- gleu
- Administrateur
Re : [RESOLU] SELECT WHERE avec différents critères
Mais quel est le problème ?
Guillaume.
Hors ligne
#3 06/01/2014 22:23:38
- CHR
- Membre
Re : [RESOLU] SELECT WHERE avec différents critères
Bonsoir,
Mon problème c'est que je vous ai soumis trois requêtes qui fonctionnent parfaitement individuellement mais que je ne sais pas comment traiter ces 3 cas dans une seule requête et un seul ? (ms-query paramètre).
Plus précisément, je ne sais pas comment transformer ou créer une requête qui EN MEME TEMPS puisse ramener tous les enregistrements (pas de WHERE condition - cas 3), plusieurs filtres (IN(xx) selection - cas 2) et une condition (= cas 1).
Merci pour votre aide et bonne soirée,
chr
Hors ligne
#4 06/01/2014 23:58:12
- gleu
- Administrateur
Re : [RESOLU] SELECT WHERE avec différents critères
Je ne sais pas, mais c'est plutôt une question d'utilisation de MS Query, logiciel sur lequel je me déclare rapidement pas compétent
Guillaume.
Hors ligne
#5 06/01/2014 23:59:53
- CHR
- Membre
Re : [RESOLU] SELECT WHERE avec différents critères
pas vraiment, ms query permet seulement le "?", la question est de comment transmettre ou poser un multi-query à postgresql. Une seule variable, multiple statements, c'est comment ?
Hors ligne
#6 07/01/2014 00:03:21
- gleu
- Administrateur
Re : [RESOLU] SELECT WHERE avec différents critères
Va falloir donner plus de détails car je ne comprends pas du tout ce que vous voulez faire.
Guillaume.
Hors ligne
#7 07/01/2014 07:19:09
- CHR
- Membre
Re : [RESOLU] SELECT WHERE avec différents critères
Si je prends la base tuto, pagila, j'imagine que je souhaite interroger la table film sur le champs rental_duration:
Select title, description, release_year where rental_duration in(?)
le ? est interprété par MS-Query (via Excel) comme un paramètre que l'utilisateur devra saisir. Une fois je veux toutes les lignes où le rental_duration est 3, une autre fois toutes celles où il est 3 et 7 et une autre fois encore toutes les lignes quel que soit la durée.
Comment écrire la requête pour que le "in" renvoie selon le cas, le 1 ou n critères ou toutes les données. Sachant que postgresql attends les multi-arguments entre apostrophe et séparés par des virgules (in('3', '6', '7')), comment coder la requête pour passer ces n arguments de l'interface ou utilisateur et quel argument donner lorsque le in doit contenir toutes les occurrences ?
Je sais, c'est une question de newbie mais... malheureusement j'en suis une !
Et encore une fois merci et chapeau pour votre suivi du forum qui est excellent, ça donne envie de passer le cap de la newbie !!
Hors ligne
#8 07/01/2014 15:14:11
- barthymus
- Membre
Re : [RESOLU] SELECT WHERE avec différents critères
Je sais pas si j'ai bien compris le problème, mais tu peux éventuellement soumettre un bloc pgSQL. Ce bloc est en fait une série d'instruction (requête) où l'on peut utiliser des variables. Ces variables peuvent être renseignées par la premiere requetes et être utilisée dans une seconde, etc...
Je pense que c'est ce que vous voulez faire non ?
En fonction de la réponse de la première requete, la seconde devra être soit ça soit ça ? Penser alors aux variables. Vous pourrez alors tester le variables (un switch par exemple, ou des if... ) et lancer une seconde requete.
Dites moi ce que vous en pensez
Hors ligne
#9 07/01/2014 17:55:43
- gleu
- Administrateur
Re : [RESOLU] SELECT WHERE avec différents critères
De toute façon, avec IN, vous ne pourrez pas les avoir tous. Vous êtes obligé d'indiquer 1 ou plusieurs éléments dans la liste.
Guillaume.
Hors ligne
#10 16/01/2014 22:15:51
- CHR
- Membre
Re : [RESOLU] SELECT WHERE avec différents critères
Bonjour,
J'ai eu la réponse à ma question, en fait c'était plutôt du côté XL car il suffisait de mettre plusieurs "variables", soit "?" et de pointer vers la même cellule.
Sinon, pour le ou tout ou le filtre, le développeur m'a donné la proposition suivante (variable=-1 ou variable=x), comme les deux sont retranscrits dans XL comme (variable=? ou variable=?), je pointe les deux ? sur la même cellule et je saisis "-1" lorsque je souhaite ne pas avoir de filtres... coool.
Je mets donc le point en [RESOLU]
Prochain post sur les questions de droits... je ne sais pas si ce sera le lieu où si je trouve un topic plus approprié.
A bientôt ;-)
Hors ligne
Pages : 1