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 :

Comprendre le résultat d'une requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de Données
    Inscrit en
    Janvier 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de Données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2015
    Messages : 79
    Points : 20
    Points
    20
    Par défaut Comprendre le résultat d'une requête
    Bonjour,

    j'ai une table avec ces champs :

    Nom : HistoriqueExport.jpg
Affichages : 74
Taille : 18,0 Ko

    et ce contenu :
    Nom : Contenu_HistoriqueExport.jpg
Affichages : 151
Taille : 154,0 Ko

    cette requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT NomExport,NumeroExport,DateExport FROM HistoriqueExport WHERE NumeroExport=(SELECT Last(NumeroExport) FROM HistoriqueExport);

    me donne ce résultat :
    Nom : Requête.jpg
Affichages : 179
Taille : 24,3 Ko

    j'ai essayé juste un SELECT Last(NumeroExport) FROM HistoriqueExport et ça me donne 204 alors qu'il y a jusqu'à 211 pour NumeroExp.

    j'ai loupé quelque chose ?

    Merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Je ne sais pas si cela vient de là, mais il ne faut pas utiliser Last mais Max.
    Last te donne le dernier enregistrement dans la table dans l'ordre où Access les a stockés, ce n'est pas forcément celui qui a la clef la plus élevée.
    C'est la même chose avec First, il faut utiliser Min pour des raisons semblables.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    En y regardant de plus près, personnellement je ferai une requête de regroupement sur la date.

    Quelque chose comme

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select HistoriqueExport.NumeroExport, Max(HistoriqueExport.DateExport)  form HistoriqueExport.
    group by HistoriqueExport.NumeroExport

    Cela devrait donner ce que tu cherches, soit la dernière date de chaque Export. Évidement si tu as des exports avec plusieurs dates, tu vas avoir seulement 1 enregistrement, donc tu peux avoir moins de ligne de résultat qu'il y a d'enregistrement dans ton historique.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur de Données
    Inscrit en
    Janvier 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de Données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2015
    Messages : 79
    Points : 20
    Points
    20
    Par défaut
    Merci.

    j'avais pensé à MAX mais je ne voyais pas bien la différence avec MAX.

    je vais voir si cela n'implique pas autre chose dans la base.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de Données
    Inscrit en
    Janvier 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de Données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2015
    Messages : 79
    Points : 20
    Points
    20
    Par défaut
    j'ai regardé et Max() semble ce qu'il faut.

    je place en résolu.

    Encore merci !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparer le résultat d'une requête
    Par VirginieGE dans le forum ASP
    Réponses: 3
    Dernier message: 10/08/2004, 15h15
  2. Arrondir le résultat d'une requête
    Par wautierp dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/06/2004, 11h56
  3. Résultat d'une requête dans une variable...
    Par Hoegaarden dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/04/2004, 13h51
  4. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 15h22
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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