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 :

First ou Last en Requête SQL [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut First ou Last en Requête SQL
    Salut à tous,

    J'ai cherché sur le forum mais je n'ai rien trouvé d'explicite ...

    Et comme ce problème revient régulièrement et que j'ai un peu de temps, j'aimerai comprendre ...

    Voilà, j'ai 5 enregistrements triés par code croissant et qté décroissant dans une requête et un troisième champ dont la valeur m'intéresse ... tel que ...

    CODE QTE LIBELLE
    1 10 PELLE
    1 5 TRUELLE
    1 1 PIOCHE
    2 5 SACOCHE
    2 1 VALISE

    Mon resultat final souhaité c'est :
    CODE QTE LIBELLE
    1 10 PELLE
    2 5 SACOCHE

    Dans le mode création de requête je vous ai fait une capture de la manip que je fais ... mais vu qu'elle ne marche pas ... Il est où le truc de noob que j'ai pas vu !!!


    En tout ca un grand merci à la communauté et à ceux qui répondent ... Dieu sait qu'ils m'ont bien aider même quand on ne pose pas la question ....
    Images attachées Images attachées  

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour PSAUVAUD,

    Citation Envoyé par PSAUVAUD
    Et comme ce problème revient régulièrement et que j'ai un peu de temps, j'aimerai comprendre ...
    ==> c'est, effectivement, une mauvaise approche qui revient régulièrement...

    Il suffit d'énoncer ce que tu souhaites, pour obtenir la solution.

    Donc, tu souhaites obtenir le (ou les) libellé dont la quantité est la plus élevée pour un même code. Nous voyons donc deux étapes :
    - déterminer la quantité la plus élevée pour un même code ;
    - voir à quel libellé elle correspond.
    ==> tu ne peux pas avoir tout en une seule fois.

    Crées une requête R1 :
    - code : regroupement/croissant ;
    - qté : Max
    ==> te donne la qté maxi par code.

    Crées une requête R2 :
    - ajoutes ta requête R1 (FROM) ;
    - ajoutes ta table DECLARE_RCACO (FROM) ;
    - lies R1 à DECLARE_RCACO via code et MaxDeQte (JOIN) ;
    - sélectionnes code, MaxDeQte et libellé.
    ==> tu devrais obtenir ce que tu souhaites.

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Encore une victime du First et Last. First te donne le 1er enr dans l'ordre dans lequel Access les stocke, pas nécessairement celui dans lequel il les affiche. C'est la même chose pour Last, c'est le dernier dans l'ordre ou Access les stocke.

    Donc toujours utiliser Min() et Max() pour trouver le 1er ou le dernier dans un ordre précis.

    A+

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bon ben pas si noob que cela alors ... C'est en effet la solution que j'avais trouvé...

    Décomposer les résultats attendus ... Mais j'étais persuadé que je pratiquais une méthode de noob ... mais non !!!

    Merci à tous !!! En espérant ne plus croiser de victime de Last or First ...

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

Discussions similaires

  1. Requête SQL
    Par Leludo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/07/2024, 15h41
  2. [ DB2 ] [ AS400] requête sql
    Par zinaif dans le forum DB2
    Réponses: 6
    Dernier message: 23/08/2008, 19h42
  3. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  4. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37

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