Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/08/2011, 11h05   #1
Invité de passage
 
Inscription : avril 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 7
Points : 1
Points : 1
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 :
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
eric121 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 12h19   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 318
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 318
Points : 1 586
Points : 1 586
bonjour,

Le mieux, je pense, est de filtrer dans la clause WHERE et non dans HAVING en écrivant :
Code :
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
philben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 15h31   #3
Invité de passage
 
Inscription : avril 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 7
Points : 1
Points : 1
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 :
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"...
eric121 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h37.


 
 
 
 
Partenaires

Hébergement Web