Bonjour.
Je cherche à cumuler les lignes de stock de produits, comme on le ferait dans une feuille de calcul. J’ai conçu la requête suivante :
SELECT
CAL_ID,
CAL_DATE,
PRO_ID,
PRO_LIB,
ACH_ID,
VEN_ID,
ACH_PUHT,
COALESCE (ACH_QTE, 0) AS ACH_QTE, -- Quantité achetée
ACH_PUHT * ACH_QTE AS ACH_TTL,
VEN_PUHT,
COALESCE (VEN_QTE, 0) AS VEN_QTE, -- Quantité vendue
VEN_PUHT * VEN_QTE AS VEN_TTL,
ACH_QTE - VEN_QTE AS STO_QTE -- Quantité en stock
FROM TR_CALENDRIER C
LEFT OUTER JOIN T_ACHATS A ON C.CAL_ID = A.CAL_ID
RIGHT OUTER JOIN T_VENTES V ON C.CAL_ID = V.CAL_ID
LEFT OUTER JOIN TJ_ACHATS H ON A.ACH_ID = H.ACH_ID
RIGHT OUTER JOIN TJ_VENTES T ON V.VEN_ID = T.VEN_ID
LEFT OUTER JOIN T_PRODUITS P ON H.PRO_ID = P.PRO_ID
RIGHT OUTER JOIN T_PRODUITS P ON T.PRO_ID = P.PRO_ID
Mais cette requête est mal structurée puisqu’elle n’indique l’état du stock que lorsque le même jour, un achat et une vente sont réalisés. Ce que je voudrais, c’est obtenir le résultat comme rajouté en rouge dans la dernière colonne dans la copie d’écran suivante, c’est-à-dire effectuer le cumul ligne par ligne, soit : STO_QTE = STO_QTE de la ligne précédente + ACH_QTE - ACH_VEN :
Merci.
dbPrimus20250712.odb (16,8 Ko)