1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
WITH TMP AS (
SELECT A.NOM, A.LIBELLE,
MAX(CASE WHEN B.POS = '01' THEN B.LIBELLECO END) AS LIBELLECO_01,
MAX(CASE WHEN B.POS = '02' THEN B.LIBELLECO END) AS LIBELLECO_02,
MAX(CASE WHEN B.POS = '03' THEN B.LIBELLECO END) AS LIBELLECO_03
FROM ARTICLE A
INNER JOIN LIBELLECOM B ON B.NOM = A.NOM
WHERE B.POS IN ('01', '02', '03') -- facultatif si ce sont toutes vos valeurs
GROUP BY A.NOM, A.LIBELLE)
SELECT SR.NOM, SR.LIBELLE,
SR.LIBELLECO_01,
SR.LIBELLECO_02,
SR.LIBELLECO_03,
SUM(C.STOCKDISPO)
FROM TMP SR
INNER JOIN TROISIEMETABLE C ON C.NOM = SR.NOM
GROUP BY SR.NOM, SR.LIBELLE,
SR.LIBELLECO_01,
SR.LIBELLECO_02,
SR.LIBELLECO_03 |
Partager