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

Requêtes et SQL. Discussion :

requête assez complexe


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Points : 76
    Points
    76
    Par défaut requête assez complexe
    Bonjour,
    J'ai une table avec, entre autres, une colonne type de diplômes (il y en a 5 : BAC GENERAL, BAC TECHNO, BACPRO, BT et CAP)
    et une colonne Origine (il y en a 2 : troisième et BEP/CAP)
    - les BAC GENERAL et les CAP ont une seule origine = troisième
    - les autres (BAC TECHNO, BACPRO, BT) ont 2 origines : troisième et BEP/CAP
    Je cherche à n'avoir que :
    - les BACPRO dont l'origine est = troisième
    - les BAC TECHNO et les BT dont l'origine est = BEP/CAP
    - et les CAP
    J'y arrive en plusieurs requêtes; serait-il possible de le faire en une seule requete ?
    J'y arrive presque en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HAVING ((([Type de diplôme])<>"BAC GENE") AND ((Origine)<>"BEP/CAP")) OR ((([Type de diplôme]) <> "BACPRO"))...
    les BACPRO et les CAP ressortent bien, mais les BAC TECHNO et les BT dont l'origine est = troisième apparaissent aussi ...

    Merci d'avance si vous avez une idée
    Eric

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    Le mieux, je pense, est de filtrer dans la clause WHERE et non dans HAVING en écrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    WHERE (([Type de diplôme] = "BACPRO" AND Origine = "troisième") OR
           ([Type de diplôme] IN ("BAC TECHNO","BT") AND Origine = "BEP/CAP") OR
            [Type de diplôme] = "CAP")
    Philippe

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par philben Voir le message
    bonjour,

    Le mieux, je pense, est de filtrer dans la clause WHERE et non dans HAVING en écrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    WHERE (([Type de diplôme] = "BACPRO" AND Origine = "troisième") OR
           ([Type de diplôme] IN ("BAC TECHNO","BT") AND Origine = "BEP/CAP") OR
            [Type de diplôme] = "CAP")
    Philippe
    Merci beaucoup, j'aurais pas dû faire [Type de diplôme])<>"BAC GENE"...

Discussions similaires

  1. Requête assez complexe
    Par Omega15 dans le forum SQL
    Réponses: 3
    Dernier message: 09/02/2012, 17h07
  2. [1.x] Requêtes assez complexes
    Par blasil64 dans le forum Symfony
    Réponses: 5
    Dernier message: 20/03/2010, 15h15
  3. [AC-2003] Requête assez complexe
    Par Apopis01 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 30/12/2009, 12h11
  4. Requête assez complexe
    Par Naruto_kun dans le forum Développement
    Réponses: 1
    Dernier message: 12/02/2009, 18h50

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