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

Développement SQL Server Discussion :

Retrouver le champ le plus récent


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 242
    Par défaut Retrouver le champ le plus récent
    Bonjour,

    A partir de 2 tables:
    Une table article
    Une table historique du prix d'achat
    comment extraire le prix d'achat le plus récent de chaque article?

    La table article a une clef unique ART_Code (Classique!)
    La table d'historique des prix d'achats a une clef sur 2 champs
    HIS_CodeArticle
    HIS_Date

    On peut bien sur faire une jointure des 2 tables.
    Mais comment, pour chaque article extraire uniquement l'enregistrement le plus récent?

    Si vous avez une idée
    D'avance merci.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Essayez ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    with cte_hist (HIS_CodeArticle, HIS_Date, HIS_Prix, rn) as
    (
    select HIS_CodeArticle, HIS_Date, HIS_Prix
         , row_number() over(partition by HIS_CodeArticle order by HIS_Date desc)
      from TableHisto
    )
    select HIS_CodeArticle, HIS_Date, HIS_Prix
      from cte_hist
     where rn = 1;

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 242
    Par défaut
    Superbe!

    Merci beaucoup.

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

Discussions similaires

  1. [Toutes versions] [FAQ] : retrouver les enregistrements les plus récents par catégorie
    Par f-leb dans le forum Contribuez
    Réponses: 1
    Dernier message: 16/08/2017, 03h01
  2. Réponses: 15
    Dernier message: 06/07/2011, 15h04
  3. Réponses: 1
    Dernier message: 17/05/2011, 10h29
  4. retrouver la donnée la plus récente
    Par sam01 dans le forum Requêtes
    Réponses: 3
    Dernier message: 12/10/2009, 16h55
  5. Affichage date plus récente dans requête champ expression
    Par sl1980 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 17/08/2007, 09h47

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