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

Langage SQL Discussion :

Problème requête max() puis autre max() si égalité


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Problème requête max() puis autre max() si égalité
    Bonjour,

    Je rencontre un problème avec une rêquete. Je suis sous MySQL.
    Le problème est le suivant :
    -table commande contenant un numéro de commande et une date
    -table passer_commande contenant un numéro de commande et un numéro d'ATU
    Une ATU peut correspondre à plusieurs commandes et une commande peut correspondre à plusieurs ATU.
    Je souhaite récupérer pour chaque ATU, la commande dont la date est la plus récente et en cas d'égalité, celle dont le numéro de commande est le plus élevé.

    Je ne parviens pas à trouver une solution.

    Merci d'avance pour vos idées !

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 102
    Points : 28 387
    Points
    28 387
    Par défaut
    Quelque chose dans ce goût là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    SELECT  pcm.no_atu
        ,   cmd.dt_cmd
        ,   MAX(pcm.no_cmd) AS  no_cmd
    FROM    passer_commande pcm
        INNER JOIN
            commande        cmd
            ON  pcm.no_cmd  = cmd.no_cmd
    WHERE   EXISTS
            (   SELECT  NULL
                FROM    commande        cm1
                    INNER JOIN
                        passer_commande pc1
                        ON  pc1.no_cmd  = cm1.no_cmd
                WHERE   pcm.no_atu  = pc1.no_atu
                HAVING  cmd.dt_cmd  = MAX(cm1.dt_cmd)   
            )
    GROUP BY pcm.no_atu
        ,   cmd.dt_cmd  
    ;

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2016
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour al1_24 et merci pour ta réponse.

    Malheureusement, la requête ne renvoie aucun résultat.

    Edit : Au temps pour moi, il suffisait de retirer la date de la clause SELECT.
    Merci beaucoup !

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

Discussions similaires

  1. Requête affichant date max puis date précédente
    Par guedkzk dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 23/09/2015, 04h58
  2. Problème requête SQL (HAVING COUNT / MAX)
    Par AuroreMu dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/11/2014, 17h24
  3. [Débutant / SQL] Requête avec la fonction MAX
    Par bugmenot dans le forum Access
    Réponses: 3
    Dernier message: 14/04/2006, 10h43
  4. Problème de nombre de caractères max dans Listbox
    Par jojoestpetit dans le forum Access
    Réponses: 1
    Dernier message: 09/04/2006, 11h39
  5. [MySQL] requête SQL MAX puis récupération de la valeur
    Par zulot dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/02/2006, 14h17

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