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 :

Filtre résultat cle étrangère unique avec date la plus récente [AC-2013]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 87
    Points : 65
    Points
    65
    Par défaut Filtre résultat cle étrangère unique avec date la plus récente
    Bonjour,

    Dans accès j'ai une table avec 4 champs

    ID (PK)
    reference_bail (FK)
    loyer (montant €)
    date_d'augmentation (date)


    Je souhaite avoir la liste des loyers actuel sur l'ensemble des contrats.
    >>Ceci implique un résultat avec l'unicité de reference_bail dont le champ date_d'augmentation est le plus récent.

    La requête semble simple mais je n'arrive pas à la formuler !

    Merci

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    Bonsoir,

    On peut passer par une sous-requête qui cherche la date la plus récente par reference_bail :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT reference_bail, max([date_augmentation]) as derniere_augmentation
    FROM LaTable
    GROUP BY reference_bail

    puis de faire la jointure avec cette sous-requête dans la requête principale :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT LaTable.*
    FROM LaTable INNER JOIN
        ( SELECT reference_bail, max([date_augmentation]) as derniere_augmentation
          FROM LaTable
          GROUP BY reference_bail ) sousrequete
    ON LaTable.reference_bail=sousrequete.reference_bail
          AND LaTable.[date_augmentation]=sousrequete.derniere_augmentation

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/10/2014, 22h29
  2. Trouver les enregistrements avec les dates les plus récentes
    Par fullmetalalchemiste dans le forum Requêtes
    Réponses: 4
    Dernier message: 17/05/2012, 10h05
  3. Selection avec date la plus récente
    Par chmdev dans le forum Langage SQL
    Réponses: 17
    Dernier message: 07/10/2010, 10h46
  4. Réponses: 10
    Dernier message: 22/07/2010, 10h20
  5. Réponses: 8
    Dernier message: 12/11/2008, 17h07

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