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

MS SQL Server Discussion :

[SQL2005] Aide sur une requette


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Par défaut [SQL2005] Aide sur une requette
    Salut à tous,


    Je bloque sur une requette qui semble simple...et pourtant.


    J'ai une table 'Profil'.

    Pour faire simple, on va dire que je n'ai que 3 colonnes:
    Id
    DateMiseEnvigueur
    Nom

    La clef primaire, aini qu'une contrainte unique sont posées sur l'addition des colonnes Id et DateMiseEnvigueur.
    Dans le but de retenir un historique par profil.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    3 2/2/07 Toto
    4 3/2/07 Tutu
    3 7/2/07 Toto

    J'aimerais en fait obtenir l'ensemble des profils les plus récents.
    Donc ceci;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    4 3/2/07 Tutu
    3 7/2/07 Toto

    Je me doute que je dois utiliser une clause DISTINCT mais je ne m'en sort pas puisque cette clause s'applique sur l'ensemble des colonnes.
    Ou alors il faudrait combiner avec une jointure ?


    Merci pour vos précieux conseils

  2. #2
    Membre chevronné Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Par défaut
    Bonjour,
    Il va vous falloir une sous-requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select Profil.*
    from
       profil
       inner join (select Id, max(DateMiseEnvigueur) as DateMiseEnvigueur from Profil group by Id) as Dern_Profil on Profil.Id = Dern_Profil.Id and Profil.DateMiseEnvigueur = Dern_Profil.DateMiseEnvigueur
    ;

  3. #3
    Membre éclairé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Par défaut
    Bravo!


    Juste ce qu'il me fallait, je n'aurais jamais trouvé


    Un grand merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/02/2010, 11h02
  2. Aide sur une requette delete.
    Par zzman dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/11/2006, 17h07
  3. besoin d'aide sur une requette sql
    Par maxidoove dans le forum Langage SQL
    Réponses: 13
    Dernier message: 10/10/2005, 18h42
  4. Aide sur une requete de sélection
    Par stephdiplo150 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/01/2004, 10h40
  5. Aide sur une fenetre
    Par Ray-j dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 29/11/2002, 08h51

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