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 :

Petit probleme de requete - derniere version d'un contrat selon periodes


Sujet :

Langage SQL

  1. #1
    Invité
    Invité(e)
    Par défaut Petit probleme de requete - derniere version d'un contrat selon periodes
    Bonjour,

    j'ai un souci de requête SQL

    dans MySQL, j'ai une table CE identifié par :
    - un numéro étudiant (etudiant_id)[big_int]
    - une période (periode_id)[char(2)]
    - une version (ce_version)[datetime]

    j'ai besoin q la requête me renvoie, pour un étudiant donné, la dernière version du contrat pour chaque période

    le resultat devrait correspondre aux 3eres lignes de ce tableau :



    je fais pas souvent des requetes, et encore moins qui utilise MAX, GROUP BY, ... - du coup, la je me perds un peu (voire beaucoup)

    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    On va récupérer dans un premier temps la version la plus récente par etudiant et par periode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT etudiant_id, periode, max(ce_version) as versionmax
    FROM CE
    GROUP BY etudiant_id, periode
    Ensuite, on fait une jointure avec la table CE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT CE.*
    FROM CE
    JOIN (SELECT etudiant_id, periode, max(ce_version) as versionmax
          FROM CE
          GROUP BY etudiant_id, periode
         ) CEMAX
    ON CE.etudiant_id = CEMAX.etudiant_id
    AND CE.periode = CEMAX.periode
    AND CE.ce_version = CEMAX.versionmax
    Au passage, un lien vers un sujet d'aujourd'hui dans lequel ce probleme est traité, qui lui même contient un lien vers un sujet identique de la veille
    http://www.developpez.net/forums/d73...problematique/

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci

    Plus qu'à transformer ça en langage "Zend Framework" ^^

    J'ai pourtant regardé le post en question mais j'ai du le lire trop vite pr me rendre compte de la similarite

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

Discussions similaires

  1. JPQL / HQL : petit probleme de requete
    Par Faiche dans le forum Hibernate
    Réponses: 1
    Dernier message: 12/12/2008, 12h27
  2. petit probleme de requete SQL dans formulaire
    Par kumo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/06/2007, 15h37
  3. [DEBUTANT] petit probleme de requete sql
    Par eclipse012 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2006, 15h10
  4. petit probleme de requete
    Par micco dans le forum Access
    Réponses: 2
    Dernier message: 19/04/2006, 11h11
  5. petit probleme de requete
    Par nico33307 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 25/08/2004, 11h36

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