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 637
    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 637
    Points : 14 611
    Points
    14 611
    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.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  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 637
    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 637
    Points : 14 611
    Points
    14 611
    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];
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  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 637
    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 637
    Points : 14 611
    Points
    14 611
    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]);
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  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