1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2010
    Messages : 611
    Points : 201
    Points
    201

    Par défaut Récupérer les dernières lignes par code produit.

    Bonjour,

    J'ai une Table Vente, contenant les champs suivant (date vente,code produit, qte,p.u.vente) et je voudrais récupérer les dernières opérations pour chaque produit exple
    date vente code produit qte p.u.vente
    15/01/2018 0001 15.55 300.00
    16/01/2018 0002 13.20 1150.00
    16/01/2018 0003 11.00 100.00
    17/01/2018 0004 15.42 115.00
    ...
    ...
    ect...

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    9 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 9 142
    Points : 20 898
    Points
    20 898
    Billets dans le blog
    9

    Par défaut

    Bonjour,

    Firebird 3 permettrait certainement une fonction de fenêtrage, sinon dans les versions précédentes quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WITH  L AS (SELECT CODEPRODUIT P,MAX(DATEVENTE) D FROM VENTE GROUP BY CODEPRODUIT) 
     
    SELECT V.CODEPRODUIT,V.DATEVENTE,V.QTE,V.PUVENTE FOM VENTE V JOIN L ON V.CODEPRODUIT=L.P AND V.DATEVENTE=L.D
    en espérant que la table contient un index correct, devrait fonctionner
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
    J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
    Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2010
    Messages : 611
    Points : 201
    Points
    201

    Par défaut

    Bonjour,

    le code récupère tout les enregistrements de la dernière date pour un produit donné, par contre je voudrais récupéré pour chaque produit le dernier enregistrement saisie.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    9 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 9 142
    Points : 20 898
    Points
    20 898
    Billets dans le blog
    9

    Par défaut

    Pardon

    la CTE récupère bien la date maximum pour chaque produit et , subséquemment, la jointure permet de n'obtenir que les éléments correspondants
    toutefois, s'il n'y a pas d'identifiant unique, je conseille d'utiliser la jointure inverse de celle que j'ai écrite (L JOIN VENTE) ce qui améliorera grandement la vitesse

    Le code, comme vous dites, n'est certainement pas fait avec vos noms de colonnes donc, il serait peut-être bon que vous indiquiez quel code vous avez réellement écrit avant tout !
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
    J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
    Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2010
    Messages : 611
    Points : 201
    Points
    201

    Par défaut

    ah c'est ma faute, la clé champs "ordre"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WITH  L AS (SELECT CODEPRODUIT P,MAX(ORDRE) D FROM VENTE GROUP BY CODEPRODUIT) 
     
    SELECT V.CODEPRODUIT,V.DATEVENTE,V.QTE,V.PUVENTE FOM VENTE V JOIN L ON V.CODEPRODUIT=L.P AND V.ORDRE=L.D
    et ça marche. merci.

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

Discussions similaires

  1. Récupérer les dernières lignes affichées
    Par HoliCApplet dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 09/02/2015, 13h30
  2. Réponses: 6
    Dernier message: 17/04/2013, 18h20
  3. Réponses: 7
    Dernier message: 09/01/2009, 13h22
  4. Récupérer les dernières lignes modifiées
    Par Mythrandil dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/06/2007, 10h33
  5. Réponses: 3
    Dernier message: 21/05/2007, 17h34

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