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

Langage SQL Discussion :

petite précision de parenthèse en SQL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut petite précision de parenthèse en SQL
    Bonjour,
    je veux savoir que si dans notre requête et exactement dans la clause where, on ajoute des parentaises:
    exemple:

    ...
    Where (C_QUESTION.LIBELLE like 'CalvNO%' and BM_REP_S.REPONSE = '2')
    and (C_QUESTION.LIBELLE like 'JawNO%' and BM_REP_S.REPONSE = '3')

    cela signifie qu'on cherche les BM_REP_S.REPONSE = '2' qui correspondents au C_QUESTION.LIBELLE like 'CalvNO%', et on même temps on cherche les BM_REP_S.REPONSE = '3' correspondants au C_QUESTION.LIBELLE like 'JawNO%'

    je vous remercie d'avance.

  2. #2
    Membre émérite Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Par défaut
    si je me rappelle bien les maths booléennes, parenthèse ou pas tu auras le même résultat, le AND fonctionne comme la multiplication


    a and b and c équivalent à (a and b) and c et à a and (b and c)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut
    merci pour ta reponse;
    mais dans ce cas, comment je peux exprimer le fait que dans la clause where je souhaite avoir les questions dont le libelle:
    est like 'J''awNO%' ou like 'CalvNO%' et dont la reponse est renseignés.

    and (C_QUESTION.LIBELLE like 'J''awNO%' OR C_QUESTION.LIBELLE like 'CalvNO%') and BM_REP_S.REPONSE is not null

    dans la même requête je souhaite avoir les questions like 'ROsr%' ou like 'Effet inspiration profonde%' et dont la reponse n'est pas necessairement renseignés.

    car si dans la clause where je mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    and (C_QUESTION.LIBELLE like 'J''awNO%' OR C_QUESTION.LIBELLE like 'CalvNO%') 
    and (C_QUESTION.LIBELLE like 'ROsr%' OR C_QUESTION.LIBELLE like 'Effet inspiration profonde%') 
    and BM_REP_S.REPONSE is not null
    je n'aurai que les question renseignés pour les 4 libelles

    je vous remercie encore.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Par défaut
    J'ai été obligé de faire plusieurs requête imbriquée, mais si vous avez d'autre suggestion n'hésitez pas surtout.

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 143
    Par défaut
    Citation Envoyé par Smix007
    mais dans ce cas, comment je peux exprimer le fait que dans la clause where je souhaite avoir les questions dont le libelle:
    est like 'J''awNO%' ou like 'CalvNO%' et dont la reponse est renseignés.

    and (C_QUESTION.LIBELLE like 'J''awNO%' OR C_QUESTION.LIBELLE like 'CalvNO%') and BM_REP_S.REPONSE is not null

    dans la même requête je souhaite avoir les questions like 'ROsr%' ou like 'Effet inspiration profonde%' et dont la reponse n'est pas necessairement renseignés.

    car si dans la clause where je mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    and (C_QUESTION.LIBELLE like 'J''awNO%' OR C_QUESTION.LIBELLE like 'CalvNO%') 
    and (C_QUESTION.LIBELLE like 'ROsr%' OR C_QUESTION.LIBELLE like 'Effet inspiration profonde%') 
    and BM_REP_S.REPONSE is not null
    je n'aurai que les question renseignés pour les 4 libelles
    Il semblerait que tu te mélanges sur les effets du AND et du OR dans l'expression de ton filtre...

    Tu cherches à sélectionner les enregistrements qui répondent à la condition "questions dont le libelle est like 'J''awNO%' ou like 'CalvNO%' et dont la reponse est renseignée" OU BIEN à la condition "les questions like 'ROsr%' ou like 'Effet inspiration profonde%' et dont la reponse n'est pas necessairement renseignée".
    Ce qui se traduirait par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ((C_QUESTION.LIBELLE like 'J''awNO%' OR C_QUESTION.LIBELLE like 'CalvNO%')  
     and BM_REP_S.REPONSE is not null)
    or (C_QUESTION.LIBELLE like 'ROsr%' OR C_QUESTION.LIBELLE like 'Effet inspiration profonde%')
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/06/2007, 15h12
  2. petite précision sur gtk_main_quit()
    Par bit_o dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 19/04/2007, 21h20
  3. Petite précision sur les pointeurs
    Par Fonzy007 dans le forum C
    Réponses: 2
    Dernier message: 07/12/2006, 11h25
  4. Imports : petites précisions
    Par Faiche dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2006, 15h42
  5. [XPath] petite précision sur type de syntaxe
    Par Royd938 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 15/06/2006, 12h13

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