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 :

Derniere date entree


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut Derniere date entree
    Bonjour ,

    juste une quetion toute bete,

    J'ai une table avec toute mes entrees produits

    ma table:

    CIP , nom , Prix, numero cde, operateur , QTE

    J'arrive pas avoir la derriere date d'entre de chaque produit.

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT Max([Liste des entrees cde].[Date entree]) AS [MaxDeDate entree],
    [Liste des entrees cde].Cip, 
    [Liste des entrees cde].Nom, 
    [Liste des entrees cde].[Prix valorise], 
    [Liste des entrees cde].[Numero de commande], 
    [Liste des entrees cde].Operateur, 
    [Liste des entrees cde].Qte 
    FROM  [Liste des entrees cde]
    GROUP BY [Liste des entrees cde].Cip, [Liste des entrees cde].Nom, 
    [Liste des entrees cde].[Prix valorise], [Liste des entrees cde].[Numero de commande], [Liste des entrees cde].Operateur, [Liste des entrees cde].Qte;
    J'ai essaye de faire sa aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Max([Liste des entrees cde].[Date entree]) AS [Date entree par jour],
    [Liste des entrees cde].Cip, [Liste des entrees cde].Nom,
    [Liste des entrees cde].Qte, [Liste des entrees cde].[Prix valorise],
    [Liste des entrees cde].Operateur
    FROM [Liste des entrees cde];
    Je comprend pas mon erreur?

    Merci de reponses

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    ta requête sort la dernière date au niveau de regroupement
    Cip/Nom/[Prix valorise]/[Numero de commande]/Operateur/Qte

    La dernière date au niveau produit (CIP je suppose)
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT   [Liste des entrees cde].Cip, 
             Max([Liste des entrees cde].[Date entree]) AS [MaxDeDate entree]
    FROM     [Liste des entrees cde]
    GROUP BY [Liste des entrees cde].Cip

    Je pense que ce que tu souhaites, c'est la ou les dernières lignes correspondant à la dernière date d'entrée pour chaque produit.

    Si je n'ai pas fait d'erreur:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT   [Liste des entrees cde].[Date entree] AS [MaxDeDate entree],
             [Liste des entrees cde].Cip,
             [Liste des entrees cde].Nom,
             [Liste des entrees cde].[Prix valorise],
             [Liste des entrees cde].[Numero de commande],
             [Liste des entrees cde].Operateur,
             [Liste des entrees cde].Qte
    FROM     [Liste des entrees cde] INNER JOIN
             (SELECT Max([Date entree]) As FMaxDate, Cip FROM [Liste des entrees cde] GROUP BY Cip) As TMaxdate
                 ON [Liste des entrees cde].Cip =TMaxdate.Cip AND [Liste des entrees cde].[Date entree]=TMaxdate.FMaxDate
    A+
    P.S:La balise code n'affiche le texte, tel que je l'ai collé. Il y a des retours à la ligne et des espaces perdus en route.

  3. #3
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    je suis d'accord avec toi pour la premier requete,

    mais je doit crees une autre requete?

    (le "cip" c'est le code produit)

    c'est tout simple je souhaite avoir, la derniere date d'entre de chaque produit avec le prix enregistre, l'operateur a cette date

    exemple

    Ma table et donnée :

    CIP , nom , Prix, numero cde, operateur , QTE, Date entree
    5425; toto; 1.29; 49; EL; 48; 05/12/2007
    5425; toto; 1.00; 48; RT; 30; 06/08/2007
    5430; tata; 0.29; 47; LM; 24; 06/07/2007
    5425; toto; 1.20; 46; DE; 204; 01/06/2007
    3025; titi; 1.00; 45; QA; 241; 21/01/2007


    ResultaT de la requette souhaite :

    CIP , nom , Prix, numero cde, operateur , QTE, Date entree
    5425; toto; 1.29; 49; EL; 48; 05/12/2007
    5430; tata; 0.29; 47; LM; 24; 06/07/2007
    3025; titi; 1.00; 45; QA; 241; 21/01/2007

    avec un exemple c'est plus parlent.

    Merci de votre aide.

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    Ma deuxième requête allait dans le sens de ce que tu souhaites.
    Il faut effectivement une deuxième requête.
    Elle est intégrée dans la requête (2ème code dans ma réponse précédente) sous la forme d'une sous-requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
             (SELECT Max([Date entree]) AS FMaxDate, Cip FROM [Liste des entrees cde] GROUP BY Cip) AS TMaxdate
    Avec deux requêtes:
    Requête 1 = R_CIP_MAXDATE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [Liste des entrees cde].Cip, 
             Max([Liste des entrees cde].[Date entree]) AS [Max de Date entree]
    FROM [Liste des entrees cde]
    GROUP BY [Liste des entrees cde].Cip
    Requête 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT R_CIP_MAXDATE.CIP.[Max de Date entree],
           [Liste des entrees cde].CIP,
           [Liste des entrees cde].Nom,
           [Liste des entrees cde].[Prix valorise],
           [Liste des entrees cde].[Numero de commande],
           [Liste des entrees cde].Operateur,
           [Liste des entrees cde].Qte
    FROM [Liste des entrees cde] INNER JOIN R_CIP_MAXDATE ON [Liste des entrees cde].CIP=R_CIP_MAXDATE.CIP AND [Liste des entrees cde].[Date entree]=R_CIP_MAXDATE.CIP.[Max de Date entree]
    A+

  5. #5
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    je vais essayer de suite

  6. #6
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    j'ai u du mal a faire ton ta deuxieme requete, j'ai compris voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT R_CIP_MAXDATE.Cip, R_CIP_MAXDATE.[Max de Date entree], [Liste des entrees cde].[Prix valorise], [Liste des entrees cde].Operateur, [Liste des entrees cde].[Numero de commande]
    FROM R_CIP_MAXDATE INNER JOIN [Liste des entrees cde] ON ([Liste des entrees cde].Cip = R_CIP_MAXDATE.Cip) AND (R_CIP_MAXDATE.[Max de Date entree] = [Liste des entrees cde].[Date entree]);
    Peux tu juste me dire si c'est correct?

    merci de ton aide

  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    Oui, pour moi, ta requête est correcte.

    Si tu souhaites n'obtenir qu'un seul enregistrement par produit, tu peux encore restreindre en prenant Max([Numero de commande]),
    en plus de Max([Date entree]).
    Cela, dans l'éventualité où un produit aurait été saisie à la même date dans plus d'une commande.

    R_CIP_MAXDATE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT [Liste des entrees cde].Cip, 
           Max([Date entree]) AS [Max de Date entree],
           Max([Numero de commande]) As [Max de commande]
    FROM   [Liste des entrees cde]
    GROUP BY [Liste des entrees cde].Cip
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT R_CIP_MAXDATE.Cip, R_CIP_MAXDATE.[Max de Date entree],
           [Liste des entrees cde].[Prix valorise],
           [Liste des entrees cde].Operateur,
           [Liste des entrees cde].[Numero de commande]
    FROM   R_CIP_MAXDATE INNER JOIN [Liste des entrees cde] ON ([Liste des entrees cde].Cip = R_CIP_MAXDATE.Cip) AND (R_CIP_MAXDATE.[Max de Date entree] = [Liste des entrees cde].[Date entree]) AND (R_CIP_MAXDATE.[Max de commande] = [Liste des entrees cde].[Numero de commande]);
    A+

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

Discussions similaires

  1. [BO]Derniere Date/heure de rafrichissement des données
    Par arnauann dans le forum Débuter
    Réponses: 2
    Dernier message: 07/03/2007, 15h03
  2. Récupérer la dernière date d'accès de ma base
    Par JauB dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/11/2006, 11h19
  3. Réponses: 4
    Dernier message: 25/10/2006, 10h13
  4. Comment trouver la dernière date de modification d'un fichier
    Par je®ome dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 24/05/2006, 13h23
  5. Recuperation derniere date
    Par Fyna dans le forum Requêtes
    Réponses: 13
    Dernier message: 25/06/2003, 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