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 d'un prix en fonction de la date la plus récente


Sujet :

Langage SQL

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

    Informations forums :
    Inscription : Novembre 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Sélection d'un prix en fonction de la date la plus récente
    Bonsoir,

    Voilà j'ai un petit problème, j'ai besoin de trouver le prix le plus récent d'un article en fonction de la date. J'ai le mcd suivant: Nom : graphe.png
Affichages : 332
Taille : 34,9 Ko

    Livraison_fournisseur_detail_produit est la table où je dois aller chercher le prixHT, en fonction de la date de la table livraison_fournisseur.
    J'ai essayé de trouver la requête SQL mais sans succès, si vous avez une solution je suis preneur !!!
    Bonne soirée à vous

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    1) commencez par respectez la charte de postage en donnant le DDL de vos tables et un jeu d'essais sous forme INSERT
    http://www.developpez.net/forums/a69...gage-sql-lire/

    2) en principe les clefs primaires et étrangères (lien d'IR) doivent porter le même nom. Ici la colonne id dans chaque table est stupide....

    3) évitez d'utiliser un mot clef de SQL comme identifiant. Exemple "date" ! Vous allez au devant des problèmes.

    4) vous n'avez pas précisé sur quel SGBDR vous travaillez.

    5) voici une requête qui répond à votre demande en SQL normatif. À vous de compléter les jointures.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    WITH 
    T0 AS
    (
    SELECT LFDP.*, ROW_NUMBER() OVER(PARTITION BY id_produit ORDER BY LF."date") AS N
    FROM   livraison_founisseur_detail_produit AS LFDP
           INNER JOIN livraison_founisseur_detail AS LFD
                 ON LFDP.??? =LFD.???
           INNER JOIN livraison_founisseur AS LF
                 ON LFD.??? = LF.??? --> critère de jointure
    )
    SELECT * 
    FROM   T0
    WHERE  N = 1;
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT max(ladate) FROM latable
    Ça te donnera la date la plus récente. Après tu fais des jointures entre les tables sur tes clef étrangères avec ça comme clause WHERE.

    Edit: grillé, et en mieux
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

Discussions similaires

  1. [AC-2002] Formule prix par Article en fonction de l'année la plus récente
    Par Sebastien1977 dans le forum Access
    Réponses: 19
    Dernier message: 23/02/2012, 21h02
  2. Sélection de la date la plus récente
    Par claireflore dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/03/2009, 13h18
  3. choisir un prix en fonction d'une date dans un sous form
    Par Stéph utilisateur d'acces dans le forum VBA Access
    Réponses: 6
    Dernier message: 21/04/2008, 20h20
  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électionner en fonction de la date la plus grande
    Par dechampfleury dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/07/2007, 11h26

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