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 max fausse [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut Requête avec max fausse
    Bonsoir,

    J'ai enfin avancer dans l'utilisation de ma requête. Mais en l'appliquant via mon code VBA, je me suis aperçu que le résultat était faux.
    Alors je l'ai lancé via une requête SQL et effectivement je n'obtiens pas le résultat voulu (je ne m'en était pas aperçu avant)

    J'ai une table HISTORIQUE qui contient :
    client_livré--Date_Dern_Vente--Code_article
    02044 ------ 31/05/2008 -------C1106666
    03900 -------12/10/2009 ------ C1104342
    02044 --------13/10/2009 -------C1106155
    02044 --------01/01/2009 ------C1106155

    Ce que je veux obtenir :
    client_livré--Date_Dern_Vente--Code_article
    02044 --------13/10/2009 -------C1106155


    ma requête actuelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT dbo_ART_DERNIERES_VENTES.Client_Livré, dbo_ART_DERNIERES_VENTES.Date_Dern_Vente, dbo_ART_DERNIERES_VENTES.Code_article
    FROM dbo_ART_DERNIERES_VENTES
    WHERE (((dbo_ART_DERNIERES_VENTES.[Date_Dern_Vente])=(SELECT Max(Date_Dern_Vente) FROM dbo_ART_DERNIERES_VENTES WHERE [Client_Livré] = "02044") AND Code_article= "C1106155"));
    Avec celle-ci, je veux sortir pour le client 02044 et pour l'article C1106155, à quelle date je lui ai fait une vente la dernière fois.

    Mais cela me sort plusieurs codes clients en plus de celui demandé et des articles sans rapport avec le C1106155

    Je n'y comprends rien !!

    Savez-vous ce qui est faux dans ma requête ?

    Merci pour votre aide.

  2. #2
    Membre éprouvé
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Points : 1 066
    Points
    1 066
    Par défaut
    Salut

    Tu peux te servir d'un ORDER BY et sélectionner uniquement le premier tuple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT TOP 1 *
    FROM historique
    WHERE client_livré = "leCodeClient"
        AND Code_article = "leCodeArticle"
    ORDER BY Date_Dern_Vente DESC
    Je n'ai pas pu tester évidemment, mais ça devrait fonctionner.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut
    Salut et un grand et triple

    Je n'en reviens pas de la simplicité du code et j'obtiens parfaitement mon résultat.

    J'ai consacré une grosse partie de mon week-end à ça !!! Je peux enfin avancer sur ma base !!!

    Génial !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/10/2008, 15h00
  2. Requête avec MAX et GROUP BY (2)
    Par kmarcel dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/02/2008, 13h55
  3. requête avec MAX et GROUP BY
    Par arcane dans le forum Langage SQL
    Réponses: 8
    Dernier message: 30/01/2008, 14h21
  4. Requête avec max date et champs correspondants
    Par sl1980 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/09/2007, 01h01
  5. Requête avec MAX et COUNT
    Par arno a. dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 16/04/2007, 15h02

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