Bonjour, dans une base de donnée Oracle j'ai une table de Stock (crée par mon éditeur ERP) qui se compose des champas suivants :
sto_date = Date de création du stock
sto_codart = Code Article
sto_lot = N° de lot
sto_tot_pds = Poids Total
sto_dis_pds = POids Disponible.

Noter que : 1 ligne est crée pour chaque mouvement d'article (entrée, consommation)

Voici pour un article en particulier un rendu de la table avec cette requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
select sto_date,sto_codart,sto_lot,sum(sto_tot_pds) POIDS_TOT,sum(sto_dis_pds) POIDS_DISPO
from gcstock_ent
where sto_codart = '736305VPFSF'
--and sto_dis_pds > 0
group by sto_codart,sto_lot,sto_date
order by sto_lot;
Nom : 1.png
Affichages : 138
Taille : 29,0 Ko

Entourer en vert on voit bien un exemple de mouvement sur le lot 1509. Une entrée de 136 Kg le 22/04/2021
et une consommation de la totalité du lot (soit 136Kg) le 03/06/2021 = Stock à 0.
Pour certains autres lot comme le 5320 on ne voit qu'une ligne d'entrée et pas de consommation.

je souhaite modifier la requête ci-dessus pour n'afficher que la date maximum du lot pour ainsi ne voir que le "vrai" stock de cet article. J'ai tenté un exemple avec un lot :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
select max(sto_date) DATE0,sto_lot,sto_tot_pds,sto_dis_pds
from gcstock_ent
where sto_lot = 1509
and sto_depot = '708'
group by sto_lot,sto_tot_pds,sto_dis_pds;
Mais cela ne me retourne pas le résultat escompté :
Nom : 2.png
Affichages : 132
Taille : 10,2 Ko

Voici ce que je veux : en rouge les lignes qui ne doivent plus apparaitrent
Nom : 3.png
Affichages : 134
Taille : 25,2 Ko

Merci d'avance de votre aide