Bonjour,

Je n'arrive pas à résoudre le problème suivant :

Il faut créer 2 jointures avec une table de base T1 (son champ REF contient plus de lignes) : la première va chercher des stocks T2, la seconde des ventes T3.
Au final je veux avoir une ligne par REF avec un cumul des stocks et des ventes.

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT
T1.REF AS REF,
T2.STOCK AS QTY, -- si je mets cela dans une agregation SUM() et adapte GROUP BY en fonction, ça me fait des totaux complètement erronées
SUM(CASE WHEN T3.DATE BETWEEN GETDATE()-90 AND GETDATE() THEN ABS(T3.QTY)/3 END) AS VM3M

FROM
T1
LEFT JOIN T2 ON T2.REF = T1.REF
LEFT JOIN T3 ON T3.REF = T1.REF

WHERE
-- plusieurs filtres dans T1, T2 et T3

GROUP BY
T1.REF,
T2.STOCK

Voici le résultat :
Nom : Capture 2.PNG
Affichages : 323
Taille : 8,8 Ko

Les bons chiffres sont : 9991 pour QTY et 5776 pour VM3M.

Comment pourrais-je faire pour qu'il n'y ait qu'une seule ligne ?
REF-------------QTY-------------VM3M
2003-----------9991-------------5776


Je vous remercie !