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 :

Sélection du plus récent avec jointure


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Sélection du plus récent avec jointure
    J'ai une table PATIENT(IDPATIENT,nom)
    et une table EXAMEN(IDEXAMEN,#IDPATIENT,daterecep,description)

    Je souhaiterais obtenir la liste de tous les patients, avec pour chacun d'eux la description de son examen le plus récent (c'est à dire avec daterecep le plus grand).

    J'ai un peu perdu la main en SQL et je n'y arrive pas.
    Attention, il est possible qu'un patient n'ait aucun examen.


    Si quelqu'un pouvait m'aider, ça me serait très utile...

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Attention : Code non testé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT IdPatient, Nom, DateRecep, Description
    FROM Patient p LEFT OUTER JOIN (SELECT IdPatient, DateRecep, Description
                                    FROM Examen e1
                                    WHERE DateRecep = (SELECT MAX(DateRecep) 
                                                       FROM Examen e2
                                                       WHERE e1.IdPatient = e2.IdPatient)) e ON p.IdPatient = e.IdPatient
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT IdPatient, Nom, DateRecep, Description                                                   
    FROM Patient p LEFT OUTER JOIN  Examen e ON p.IdPatient = e.IdPatient
                                            AND DateRecep = (SELECT MAX(DateRecep) 
                                                             FROM Examen e1
                                                             WHERE e1.IdPatient = e.IdPatient))

Discussions similaires

  1. Jointure avec une table d'historique et sélection du plus récent
    Par thor76160 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/07/2011, 11h36
  2. Sélection des doublons les plus récents
    Par nitramm dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2008, 09h37
  3. Réponses: 3
    Dernier message: 15/02/2008, 09h06
  4. sélection de la date la plus récente
    Par karinal dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 24/08/2007, 14h28
  5. Sélection de l'enreg le plus récent
    Par JeAn-PhI dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/01/2006, 10h48

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