PostGreSQL SELECT * WHERE
Résolu/Fermé
Leinox
Messages postés
227
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
2 septembre 2015
-
6 mars 2014 à 12:28
Leinox Messages postés 227 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 2 septembre 2015 - 6 mars 2014 à 15:06
Leinox Messages postés 227 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 2 septembre 2015 - 6 mars 2014 à 15:06
A voir également:
- PostGreSQL SELECT * WHERE
- Reboot and select proper boot device asus - Forum Matériel & Système
- Where to download bulluduck42793 - Forum Virus
- Reboot and select proper boot device or insert boot media in selected boot device and press a key ✓ - Forum Windows 10
- Reboot and select proper boot device - Forum PC fixe
- Reboot and select proper boot device ✓ - Forum PC portable
4 réponses
Utilisateur anonyme
6 mars 2014 à 13:35
6 mars 2014 à 13:35
Bonjour
Ce que je ne comprends pas, c'est que tu nous présentes une requête avec une condition c1 AND c2 AND (c3 or c4) et que tu parles de vérification avec c1 AND c2 seulement.
As-tu essayé la requête complète avec PgAdmin ?
Ce que je ne comprends pas, c'est que tu nous présentes une requête avec une condition c1 AND c2 AND (c3 or c4) et que tu parles de vérification avec c1 AND c2 seulement.
As-tu essayé la requête complète avec PgAdmin ?
Leinox
Messages postés
227
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
2 septembre 2015
29
6 mars 2014 à 13:43
6 mars 2014 à 13:43
Bonjour le père, merci de ton intérêt.
Le but de ma requête est de me retourner toutes les lignes là où C1 et C2 ont des valeurs précises. Et si C3 ou C4 existe, je ne veux pas les lignes où ses lignes commence par 'WIP'.
Il arrive que C3 n'ai pas de valeur, ou bien c'est C4, ou bien aucune des deux.
J'exécute ces deux requêtes dans PgAdmin. J'ai essayé avec et sans ma condition sur C3 et C4. Même résultat.
Le but de ma requête est de me retourner toutes les lignes là où C1 et C2 ont des valeurs précises. Et si C3 ou C4 existe, je ne veux pas les lignes où ses lignes commence par 'WIP'.
Il arrive que C3 n'ai pas de valeur, ou bien c'est C4, ou bien aucune des deux.
J'exécute ces deux requêtes dans PgAdmin. J'ai essayé avec et sans ma condition sur C3 et C4. Même résultat.
Utilisateur anonyme
6 mars 2014 à 13:49
6 mars 2014 à 13:49
Soyons clairs : tu dis bien que
ne te retourne aucun résultat alors que tu as des lignes contenant
Tes champs part_number_part_id et customer_id sont-ils bien de type numérique ?
SELECT * FROM prod_purchase_order WHERE (part_number_part_id = 1 AND customer_id = 6)
ne te retourne aucun résultat alors que tu as des lignes contenant
part_number_part_id = 1 AND customer_id = 6?
Tes champs part_number_part_id et customer_id sont-ils bien de type numérique ?
Leinox
Messages postés
227
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
2 septembre 2015
29
6 mars 2014 à 15:02
6 mars 2014 à 15:02
Ouf ! Ca fonctionne !
Merci le père tu m'a aiguillé avec ton premier message.
Lorsque je faisais :
Je n'avais aucun retour car je ne faisait que commenter ma condition en dessous, ainsi que le point virgule. Je ne sais pas comment se débrouille pgAdmin mais ne n'avais aucun résultat avec :
Commentaire à la noix... autant que le dev vous m'direz ^^
Reste que pour ma condition il fallait gérer un test sur des champs vides. Pas mal galère, surtout avec la gestion des champs = null, ou qui sont vide, ou qui sont égal à zéro...
Je me suis perdu dans la doc postgre et voilà ce qui en ressort... très moche m'enfin...
Indigestion de fonction SQL. Probable qu'il y ai plus simple...
Merci le père tu m'a aiguillé avec ton premier message.
Lorsque je faisais :
SELECT * FROM prod_purchase_order WHERE (part_number_part_id = 1 AND customer_id = 6)
Je n'avais aucun retour car je ne faisait que commenter ma condition en dessous, ainsi que le point virgule. Je ne sais pas comment se débrouille pgAdmin mais ne n'avais aucun résultat avec :
SELECT * FROM prod_purchase_order WHERE (part_number_part_id = 1 AND customer_id = 6)
-- and (customer_order_number NOT LIKE 'WIP%' OR starchip_order_num NOT LIKE 'WIP%');
Commentaire à la noix... autant que le dev vous m'direz ^^
Reste que pour ma condition il fallait gérer un test sur des champs vides. Pas mal galère, surtout avec la gestion des champs = null, ou qui sont vide, ou qui sont égal à zéro...
Je me suis perdu dans la doc postgre et voilà ce qui en ressort... très moche m'enfin...
SELECT * FROM prod_purchase_order WHERE (part_number_part_id = 1 AND customer_id = 6) AND (UPPER(SUBSTRING(COALESCE(customer_order_number, 'RIEN') FROM 1 FOR 3)) <> 'WIP');
Indigestion de fonction SQL. Probable qu'il y ai plus simple...
Leinox
Messages postés
227
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
2 septembre 2015
29
6 mars 2014 à 15:06
6 mars 2014 à 15:06
Pour en savoir plus sur COALESCE : https://gktorrent-fr.fr/