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

DB2 Discussion :

Max sur plusieurs colonne


Sujet :

DB2

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 31
    Points
    31
    Par défaut Max sur plusieurs colonne
    Bonjour à tous.

    J'aurais besoin de vos conseils sur un petit souci. J'ai une table de ce type la

    statut identifiant date heure .....
    S1 I1 D1 H1
    S1 I1 D1 H2
    S1 I1 D2 H3
    S1 I2 D2 H4
    S1 I2 D3 H5
    .
    .
    .

    Je souhaite récupérer (S1 I1 D1 H1), (S1 I2 D2 H4),....
    Autrement dit les couples (Sn In) les plus récents.

    Pour des raisons techniques il faudrait que je fasse une sorte de max sur le couple (Date Heure). Je ne peux pas faire MAX(Date), MAX(Heure) car l'heure la plus récente qui est associé à la date la plus récente n'est pas forcement la plus grande.

    Je précise que c'est une requête qui doit être incorporée à un programme cobol.

    Auriez-vous une idée?

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Dans ce cas fait un max(date concat heure)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Bonjour et merci pour ta réponse.

    J'avais effectivement cette solution, seulement la requete etant integré dans un programme cobol, j'aurais aimé pourvoir quand meme récupérer les deux zones disjointes.

    Mais si il n'y a pas d'autre solution je ferai comme ça.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Tu peux le faire avec une sous-requête sans problèmes, toutefois ce serait dommage pour les performances. Dans ton cobol, tu reçois une zone concaténée, remets la dans deux zones pour le traitement.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Oui je penses que je vais faire comme ça.
    J'ai beau cherché je ne vois pas de solution moins contraignante.

    Merci pour ton aide.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Avec une sous-requête, celà te donnera

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    with t1 as (                                                   
    select sx, Ix, max(date concat heure)  maxi 
    from matable                                           
    group by Sx, Ix)                                         
    select t2.* from t1 join matable t2                           
    on t1.Sx = t2.Sx and t1.Ix = t2.Ix                        
    Where maxi = (t2.date concat t2.heure)

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

Discussions similaires

  1. [MySQL] MAX sur plusieurs colonnes ?
    Par nimbus_77 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/06/2008, 20h00
  2. trier un stringgrid sur plusieurs colonnes
    Par renegade55 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 13/12/2005, 16h30
  3. Jointure avec conditions sur plusieurs colonnes
    Par ben53 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 28/11/2005, 09h27
  4. Lister sur plusieurs colonnes dans état
    Par armagued dans le forum Access
    Réponses: 3
    Dernier message: 30/10/2005, 21h21
  5. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 15h22

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