IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Problème de Requête SQL


Sujet :

PostgreSQL

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Problème de Requête SQL
    Bonjour,

    Je possède une base de données contenant des fiches sur l'antiquité.
    Je récupère via mon formulaire les critères de recherche.
    Exemple : (motclef1 ET motclef2) OU motclef3 OU motclef4

    Je ne sais pas vraiment comment faire sa.
    Pour le moment j'arrive à récupérer les id de tous les mots clefs.

    J'aimerais savoir s'il est possible de faire une requête de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM fiche WHERE (id = 4) or (id IN(5,6)) AND id = 7
    Merci d'avance

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Il faut utiliser du SQL dynamique (SQL prepare puis SQL execute)
    Votre exemple n'est pas très bien choisi car

    "WHERE (id = 4) or (id IN(5,6)) AND id = 7"

    sera toujours faux, donc le résultat de votre requete sera un ensemble vide

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Avez vous donc une idée de comment créer cette requête ?

  4. #4
    Membre confirmé Avatar de Sebwar
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 172
    Points : 498
    Points
    498
    Par défaut
    le AND est prioritaire par rapport au OR
    donc dans votre requete les conditions sont :
    (id IN(5,6)) AND id = 7
    OU
    (id = 4)

    l'id ne peut pas être a la fois in (5, 6) ET égal à 7

    il faut juste adapter vos parenthèses.

    sinon pour :
    (motclef1 ET motclef2) OU motclef3 OU motclef4
    ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE nom_du_champ LIKE '%motclef1%' AND nom_du_champ LIKE '%motclef2%' OR nom_du_champ LIKE '%motclef3%' OR nom_du_champ LIKE '%motclef4%'

Discussions similaires

  1. Problème de requête SQL avec instruction TRANSFORM
    Par Nosper dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/06/2005, 16h15
  2. problème de requète SQL pour formulaire
    Par en_stage dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 21/06/2005, 12h21
  3. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07
  4. [SQLserver2000][SQLServer CE] problème de requête SQL
    Par JBernn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/01/2005, 09h29
  5. Problème de requète SQL dans un Requery
    Par Keraccess dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/10/2004, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo