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 :

SQL Server 2000] Evaluer champ date table fille pour récuperer enreg plus récent


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut SQL Server 2000] Evaluer champ date table fille pour récuperer enreg plus récent
    Bonjour à tous,

    J'ai un peu de mal à écrire une requète sql. Je voudrais obtenir une grille de données alimentée par deux tables. Une table PRODUITS et une table PRIX.

    Je voudrais simplement afficher les produits (champs "prodId" et "prodDesign") avec le "prixachat" de la table PRIX, mais attention il faut seulement le dernier prix achat enregistré.

    Le modèle est le suivant :
    PRODUIT(prodid, prodDesign)
    PRIX(prixid, prixachat, prixdate, #prodid)

    J'ai essayé avec une un max sur prfdate dans une clause having. le tout dans une sous requete, mais rien n'y fait je n'arrive pas à la mettre au point. J'ai pourtant déjà fait plus retord mais la rien

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Citation Envoyé par grome
    Je voudrais simplement afficher les produits (champs "prodId" et "prodDesign") avec le "prixachat" de la table PRIX, mais attention il faut seulement le dernier prix achat enregistré.
    Question déjà posée et répondue plusieurs fois dans ce même forum :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT  p.prodid
        ,   p.prodDesign
        ,   x.prixachat
    FROM    produit AS p
        INNER JOIN
            prix    AS x
            ON  p.prodid = x.prodid
    WHERE   x.prixdate =
            (   SELECT  MAX(y.prixdate)
                FROM    prix    AS y
                WHERE   y.prodid = p.prodid
            )
    ;

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 43
    Points
    43
    Par défaut
    En supposant qu'il n'y a pas plusieurs prix à la même date.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT pdt.prodid, pdt.prodDesign, prx.prixachat
       FROM PRODUIT pdt, PRIX prx
     WHERE pdt.prodid = prx.prodid
         AND prx.prixdate = (SELECT Max(prixdate) FROM PRIX
                                WHERE prixid = pdt.prodid)

  4. #4
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut
    oui merci ca correspond à ce que je viens juste de trouver.
    merci de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT CA.CatId, CatDesignFour, PF1.PrfDate, PrfPrixAch
    FROM CATALOGUE CA, PRIXFOUR PF1
    WHERE CA.CatId = PF1.CatID
    AND PrfDate = (SELECT MAX(PrfDate)
    		FROM PRIXFOUR PF2
    		WHERE PF2.CatId = CA.CatId)

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

Discussions similaires

  1. [SQL Server 2000] Convertir base ou table en utf-8
    Par lnhf dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/12/2009, 12h05
  2. sql server 2000 - atteindre champ Null
    Par poosh dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 20/07/2006, 17h10
  3. [SQL server 2000] jointures de 3 tables
    Par batosai dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/04/2006, 09h45
  4. [SQL Server 2000] exclusion dernière date dans un between?
    Par biloumousse dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/04/2006, 17h11
  5. Installation SQL SERVER 2000 evaluation
    Par gock dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/01/2006, 11h05

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