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

Access Discussion :

Requete selection avec selection date la plus récente


Sujet :

Access

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Business Analyste
    Inscrit en
    Avril 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Business Analyste

    Informations forums :
    Inscription : Avril 2018
    Messages : 16
    Points : 8
    Points
    8
    Par défaut Requete selection avec selection date la plus récente
    Bonjour

    N'arrivant pas à créer une requete en mode création basic, j'eesaie de la faire en sql sachant que je n'y connais rien du tout ..
    J'ai trouvé la réponse à mon besoin dans un exemple sur internet mais je n'arrive pas à adapter la formule pour ma base ...

    Voici l'exemple trouvé :

    table Livre

    id categorie date livre pages
    1 10 04/03/2009 livre A 399
    2 11 04/03/2009 livre B 244
    5 12 04/03/2009 livre C 555
    3 10 03/03/2009 livre D 300
    4 11 03/03/2009 livre E 200
    6 12 03/03/2009 livre F 500

    On souhaite récupérer le livre ayant la date la plus récente par catégorie pour obtenir le résultat suivant :

    1 10 04/03/2009 livre A 399
    2 11 04/03/2009 livre B 244
    5 12 04/03/2009 livre C 555


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT l.* FROM livre l INNER JOIN ( SELECT categorie, MAX(date) AS maxDate FROM livre GROUP BY categorie ) groupel ON l.categorie = groupel.categorie AND l.date = groupel.maxDate


    Dans mon cas ma table se nomme : WO_Retrait_wvs_parc_maa
    je fais une requete qui sélectionne le [N° de timbre] sur la base d'une date dans le champs [Fermé le] (la plus récente)
    ma première requete donne donc :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT WO_Retrait_wvs_parc_maa.[N° de timbre], Max(WO_Retrait_wvs_parc_maa.[Fermé le]) AS [MaxDeFermé le]
    FROM WO_Retrait_wvs_parc_maa
    GROUP BY WO_Retrait_wvs_parc_maa.[N° de timbre];

    mais dès que je souhaite imbriquer les deux select ... je dois pas avoir la bonne synthaxe car j'ai un message d'erreur sur opérateur :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT WO_Retrait_wvs_parc_maa_1.* FROM WO_Retrait_wvs_parc_maa_1 INNER JOIN (SELECT WO_Retrait_wvs_parc_maa.[N° de timbre], Max(WO_Retrait_wvs_parc_maa.[Fermé le]) AS [MaxDeFermé le]
    FROM WO_Retrait_wvs_parc_maa
    GROUP BY WO_Retrait_wvs_parc_maa.[N° de timbre]) groupe1 ON WO_Retrait_wvs_parc_maa_1.[N° de timbre] = groupe1.[N° de timbre] AND WO_Retrait_wvs_parc_maa_1.[Fermé le] = groupe1.[MaxDeFermé le];

    pourriez vous m'aider et me dire ce que je ne code pas correctement ...

    MERCI!!!!

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 760
    Points : 14 795
    Points
    14 795
    Par défaut
    Bonjour,
    Le mieux serait de donner la structure de ta table WO_Retrait_wvs_parc_maa plutôt que celle de l'exemple et le résultat que tu souhaites obtenir avec la requête.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Business Analyste
    Inscrit en
    Avril 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Business Analyste

    Informations forums :
    Inscription : Avril 2018
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    ok ma table ressemble à ça :

    num SR statut num WO| type N° de timbre Fermé le
    001 en-cours 0056| retrait AABB 28/02/2018
    001 cloturée 0057| retrait AABB 26/02/2018
    003 en-cours 0076| retrait XXTT 12/04/2018
    004 en-cours 0099| retrait XXTT 12/02/2018

    et je voudrais obtenir ca :

    num SR statut num WO| type N° de timbre Fermé le
    001 en-cours 0056| retrait AABB 28/02/2018
    003 en-cours 0076| retrait XXTT 12/04/2018

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 760
    Points : 14 795
    Points
    14 795
    Par défaut
    cela fonctionne en une seule requête, voici le code corrigé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT WO_Retrait_wvs_parc_maa.* FROM WO_Retrait_wvs_parc_maa INNER JOIN (SELECT WO_Retrait_wvs_parc_maa.[N° de timbre],
     Max(WO_Retrait_wvs_parc_maa.[Fermé le]) AS [MaxDeFermé le]
    FROM WO_Retrait_wvs_parc_maa
    GROUP BY WO_Retrait_wvs_parc_maa.[N° de timbre]) groupe1 ON WO_Retrait_wvs_parc_maa.[N° de timbre] = groupe1.[N° de timbre]
     AND WO_Retrait_wvs_parc_maa.[Fermé le] = groupe1.[MaxDeFermé le];

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Business Analyste
    Inscrit en
    Avril 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Business Analyste

    Informations forums :
    Inscription : Avril 2018
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    yes merci beaucoup ! et je vais t'embeter un peu plus mais si je souhaite directement créer une table avec la sélection ? c'est possible je pense

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 760
    Points : 14 795
    Points
    14 795
    Par défaut
    c'est possible en ajoutant INTO et le nom de la table à créer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT WO_Retrait_wvs_parc_maa.* INTO NomdelaTableAcreer
    FROM WO_Retrait_wvs_parc_maa INNER JOIN (SELECT WO_Retrait_wvs_parc_maa.[N° de timbre],
     Max(WO_Retrait_wvs_parc_maa.[Fermé le]) AS [MaxDeFermé le]
    FROM WO_Retrait_wvs_parc_maa
    GROUP BY WO_Retrait_wvs_parc_maa.[N° de timbre])  AS groupe1 ON (WO_Retrait_wvs_parc_maa.[Fermé le] = groupe1.[MaxDeFermé le]) AND (WO_Retrait_wvs_parc_maa.[N° de timbre] = groupe1.[N° de timbre]);

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Business Analyste
    Inscrit en
    Avril 2018
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Business Analyste

    Informations forums :
    Inscription : Avril 2018
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    ok je vais essayer merci beaucoup

Discussions similaires

  1. Trouver les enregistrements avec les dates les plus récentes
    Par fullmetalalchemiste dans le forum Requêtes
    Réponses: 4
    Dernier message: 17/05/2012, 10h05
  2. Selection avec date la plus récente
    Par chmdev dans le forum Langage SQL
    Réponses: 17
    Dernier message: 07/10/2010, 10h46
  3. Réponses: 10
    Dernier message: 22/07/2010, 10h20
  4. Réponses: 8
    Dernier message: 12/11/2008, 17h07
  5. Select la date la plus récente
    Par NicoNGRI dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/09/2005, 16h45

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