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 avec plusieurs critères sur un même champ


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2014
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 18
    Points
    18
    Par défaut Requête avec plusieurs critères sur un même champ
    Bonjour.
    Je sollicite votre aide pour réaliser les deux requêtes.
    J’utilise Microsoft Access 2019.
    J’ai une table courses laquelle comprend entre autres un champ num_course, date_course et localite_destination.
    Ce dernier champ comprend toutes les localités de la province de Liège (Belgique)
    Une requête faite sur le champ num_course sert sur plusieurs autres requêtes.
    Afin de retenir du champ localite_destination les localités de Boncelles, Jemeppe-sur-Meuse, Ougrée et Seraing, j’ai fait une requête avec plusieurs critères sur ce champs.
    Pour ce faire, j’ai suivi les recommandations au chapitre Requêtes Sélection (page 313) du livre Microsoft ACCESS versions 2019 et Office 365 de l’édition ENI.
    Je fais un regroupement en vue de faire un compte par la suite.
    La requête me donnes toutes les de destination reprises dans le champs la sélection demandée y comprise.
    Je souhaite faire une seconde requête dans laquelle apparaîtront toutes les autres localités sans celles précitées.
    Voulez-vous bien m’aider*?
    Voici le code sql :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT [Stat_021_ Courses_Ponctu_Realisees_Modif_Annee_Recherche].num_course, Course.date_course, Course.localite_destination
    FROM Course INNER JOIN [Stat_021_ Courses_Ponctu_Realisees_Modif_Annee_Recherche] ON Course.num_course = [Stat_021_ Courses_Ponctu_Realisees_Modif_Annee_Recherche].num_course
    GROUP BY [Stat_021_ Courses_Ponctu_Realisees_Modif_Annee_Recherche].num_course, Course.date_course, Course.localite_destination
    HAVING (((Course.date_course) Is Not Null)) OR (((Course.localite_destination)="Boncelles" Or (Course.localite_destination)="Jemeppe-sur-Meuse" Or (Course.localite_destination)="Ougrée" Or (Course.localite_destination)="Seraing"))
    ORDER BY Course.localite_destination;

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 612
    Points : 56 717
    Points
    56 717
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    Citation Envoyé par Liegecam64 Voir le message
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    HAVING (((Course.date_course) Is Not Null)) OR (((Course.localite_destination)="Boncelles" Or (Course.localite_destination)="Jemeppe-sur-Meuse" Or (Course.localite_destination)="Ougrée" Or (Course.localite_destination)="Seraing"))
    Mettre ces critères dans la condition WHERE sera plus efficace avec la syntaxe :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE (Course.date_course Is Not Null) OR (Course.localite_destination IN ("Boncelles" , "Jemeppe-sur-Meuse" , "Ougrée" , "Seraing"))
    Le WHERE doit être placé avant le GROUP BY.

    D'ailleurs pourquoi faire un GROUP BY ici s'il n'y a pas d'opérations de comptage ou autres ? Si c'est juste pour éliminer des doublons, avec DISTINCT :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT [Stat_021_ Courses_Ponctu_Realisees_Modif_Annee_Recherche].num_course, Course.date_course, Course.localite_destination
    FROM Course INNER JOIN [Stat_021_ Courses_Ponctu_Realisees_Modif_Annee_Recherche]
    ON Course.num_course = [Stat_021_ Courses_Ponctu_Realisees_Modif_Annee_Recherche].num_course
    WHERE (Course.date_course Is Not Null) OR (Course.localite_destination IN ("Boncelles" , "Jemeppe-sur-Meuse" , "Ougrée" , "Seraing"))
    ORDER BY Course.localite_destination;

    Citation Envoyé par Liegecam64 Voir le message
    Je souhaite faire une seconde requête dans laquelle apparaîtront toutes les autres localités sans celles précitées.
    Avec une requête de non-correspondance

  3. #3
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Bonsoir
    Une piste ici peut-être.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/09/2012, 23h12
  2. Réponses: 2
    Dernier message: 31/01/2009, 20h49
  3. Requête avec conditions multiples sur le même champ
    Par skerdreux dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/06/2008, 19h15
  4. Requête avec plusieurs paramètres d'un même champ d'une table
    Par jb.julien dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/08/2007, 09h43
  5. Réponses: 4
    Dernier message: 26/04/2006, 14h02

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