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] fonction Max sur 2 champs


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 30
    Points : 21
    Points
    21
    Par défaut [Requête] fonction Max sur 2 champs
    Bonsoir à toutes et à tous,

    Voici mon problème:

    Je possède une Table ayant pour champs

    HEUDP (numérique)
    CUMPR (Numérique)
    CODPR (Texte)

    Exemple
    HEUDP______CUMPR_______CODPR
    112508_____173__________005
    132000_____53___________008
    140005_____48___________008
    11204______5____________005


    Ceque je voudrai c'est le maximum de HEUDP en fonction de CODPR
    HEUDP______CUMPR_______CODPR
    112508_____173__________005
    140005_____53___________008
    ou
    HEUDP______CUMPR_______CODPR
    140005_____53___________008
    112508_____173__________005

    J'ai don essayé de faire un max sur HEUDP mais il me donne çà
    HEUDP______CUMPR_______CODPR
    140005_____48___________008
    132000_____53___________008
    112508_____173__________005
    11204______5____________005

    Avez vous une idée ?

    Merci à vous.

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Ce qui empeche d'avoir le bon resultat c'est la presence du champ CUMPR
    Il faut donc faire une premiere requete sans ce champ avec Max sur HEUDP et regroupement sur CODPR
    Créer une 2eme requete avec la table et cette premiere requete comme source en liant les champs HEUDP et CODPR

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Bonsoir,

    On fait un Max sur heudp, un First (Premier dans la liste) sur cumpr, et un regroupement sur codpr, tri heudp Descendant.

    Cordialement,

  4. #4
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    Citation Envoyé par Loufab
    On fait un Max sur heudp, un First (Premier dans la liste) sur cumpr, et un regroupement sur codpr, tri heudp Descendant
    Excuse moi Loufab, mais je serais plutôt de l'avis de Helas.

    En effet,j'étais parti sur ton idée , mais en recopiant l'exemple de Gippe je me suis aperçu qu'en rajoutant un enregistrement comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    HEUDP       CUMPR    CODPR
    150809       300      005
    Ta proposition, à priori ne fonctionne pas.

    Non ?

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Mea maxima culpa.

    C'est vrai qu'on zappe les doublons.

  6. #6
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Ce qui me gêne:

    Pour un problème somme toute , simple (en apparence) nous soyons obligés de passer par 2 requêtes.

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Citation Envoyé par ft035580
    Ce qui me gêne:

    Pour un problème somme toute , simple (en apparence) nous soyons obligés de passer par 2 requêtes.

    C'est le principe même du group by

  8. #8
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Citation Envoyé par tofalu
    C'est le principe même du group by
    Merci tofalu,

    Donc rien à faire.

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    je vois personnellement 2 solutions.

    S'il n'y a pas de coquille dans votre libellé vous souhaitez le max de <heudp> ET le max de <cumpr> pour <codpr>.
    En effet dans votre exemple vous écrivez :
    HEUDP______CUMPR_______CODPR
    112508_____173__________005
    140005_____53___________008
    ou
    HEUDP______CUMPR_______CODPR
    140005_____53___________008
    112508_____173__________005
    alors que CUMPR = 48 pour HEUDP = 140005 dans la source et non 53.
    (53 est le max de <cumpr> pour <codpr>=008 et 173 est le max de <cumpr> pour <codpr> = 005) ?!?

    Dans ce cas, la requête est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT DISTINCT Max(T1.heudp) AS MaxDeheudp, Max(T1.cumpr) AS MaxDecumpr, T1.codpr
    FROM Table1 AS T1 GROUP BY T1.codpr ORDER BY T1.codpr;
    Si vous souhaitez le max <heudp> pour chaque <codpr> et afficher le <cumpr> des enregistrements retournés, une requête possible est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT DISTINCT T1.codpr, T1.cumpr, T1.heudp
    FROM Table1 AS T1
    GROUP BY T1.codpr, T1.cumpr, T1.heudp
    HAVING T1.heudp>=(select max(heudp) from table1 where codpr=T1.codpr)
    Cordialement,

    Philippe

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    Merci à vous tous ça marche

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

Discussions similaires

  1. Une requête avec un Max sur 2 champs
    Par Bils dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/09/2007, 14h04
  2. Réponses: 6
    Dernier message: 12/09/2006, 08h42
  3. fonction MAX sur une date
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 08/09/2006, 14h59
  4. Fonction MAX sur les lignes
    Par yostane dans le forum Langage SQL
    Réponses: 7
    Dernier message: 01/04/2006, 21h49
  5. requête max sur plusieurs champs
    Par logica dans le forum Access
    Réponses: 3
    Dernier message: 28/03/2006, 16h31

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