SELECT FAM_0001, REF, DES, SUM(QTE_DEP) AS QTE_DEP, SUM(QTE_ACHT) AS QTE_ACHT,
SUM(QTE_ENTER) AS QTE_ENTER, SUM(QTE_CONS) AS QTE_CONS, SUM(QTE_MORT) AS QTE_MORT,
SUM(STK) AS STK, LIB, SUM(STK_MP1) as STK_MP1,SUM(STK_MP9) as
STK_MP9,SUM(STK_MP11) as STK_MP11
FROM (
SELECT dbo.MVTL.DOS, dbo.ART.FAM_0001, dbo.MVTL.REF,
dbo.ART.DES, SUM(CASE WHEN MVTL.SENS = 1 THEN MVTL.REFQTE ELSE - MVTL.REFQTE END)
AS QTE_DEP, 0 AS QTE_ACHT, 0 AS QTE_ENTER, 0 AS QTE_CONS, 0 AS QTE_MORT, 0 AS
STK, dbo.T012.LIB, 0 as STK_MP1,0 as STK_MP9,0 as STK_MP11
FROM dbo.T012 INNER JOIN
dbo.ART ON dbo.T012.DOS = dbo.ART.DOS AND
dbo.T012.FAM = dbo.ART.FAM_0001 RIGHT OUTER JOIN
dbo.MVTL ON dbo.ART.DOS = dbo.MVTL.DOS AND
dbo.ART.REF = dbo.MVTL.REF
WHERE (dbo.MVTL.DEPO = '1' OR dbo.MVTL.DEPO = '9' OR
dbo.MVTL.DEPO = '11') AND (dbo.MVTL.BLDT <= @date_debut) AND (dbo.MVTL.PICOD = 3 OR
dbo.MVTL.PICOD = 4) AND (dbo.ART.STCOD = 2)
GROUP BY dbo.MVTL.DOS, dbo.ART.FAM_0001, dbo.MVTL.REF,
dbo.T012.LIB, dbo.ART.DES
HAVING (dbo.MVTL.DOS = '1')
UNION
SELECT ART_5.DOS, ART_5.FAM_0001, ART_5.REF, ART_5.DES, 0 AS
QTE_DEP, SUM(CASE MVTL_5.SENS WHEN 1 THEN MVTL_5.REFQTE ELSE - (MVTL_5.REFQTE) END)
AS QTE_ACHAT, 0 AS QTE_ENTER, 0 AS QTE_CONS, 0 AS QTE_MORT, 0 AS STK, T012_5.LIB, 0
as STK_MP1,0 as STK_MP9,0 as STK_MP11
FROM dbo.ART AS ART_5 INNER JOIN
dbo.MVTL AS MVTL_5 ON ART_5.DOS = MVTL_5.DOS
AND ART_5.REF = MVTL_5.REF INNER JOIN
dbo.T012 AS T012_5 ON ART_5.DOS = T012_5.DOS
AND ART_5.FAM_0001 = T012_5.FAM
WHERE (MVTL_5.DEPO = '1' OR MVTL_5.DEPO = '9' OR MVTL_5.DEPO =
'11') AND (MVTL_5.BLDT BETWEEN @date_debut AND @date_fin)
GROUP BY ART_5.DOS, MVTL_5.TICOD, MVTL_5.PICOD, ART_5.REF,
ART_5.DES, T012_5.LIB, ART_5.FAM_0001
HAVING (ART_5.DOS = '1') AND (MVTL_5.TICOD = 'F' OR MVTL_5.TICOD
= 'C') AND (MVTL_5.PICOD = 3 OR MVTL_5.PICOD = 4)
UNION
SELECT ART_4.DOS, ART_4.FAM_0001, ART_4.REF, ART_4.DES, 0 AS
QTE_DEP, 0 AS QTE_ACHAT, SUM(MVTL_4.REFQTE) AS QTE_ENTER, 0 AS QTE_CONS, 0 AS
QTE_MORT, 0 AS STK, T012_4.LIB, 0 as STK_MP1,0 as STK_MP9,0 as STK_MP11
FROM dbo.ART AS ART_4 LEFT OUTER JOIN
dbo.T012 AS T012_4 ON ART_4.FAM_0001 =
T012_4.FAM AND ART_4.DOS = T012_4.DOS LEFT OUTER JOIN
dbo.MVTL AS MVTL_4 ON ART_4.REF = MVTL_4.REF
AND ART_4.DOS = MVTL_4.DOS
WHERE (MVTL_4.BLDT BETWEEN @date_debut AND @date_fin) AND
(MVTL_4.TICOD = 'I') AND (MVTL_4.PICOD = 3) AND (MVTL_4.SENS = 1)
GROUP BY ART_4.DOS, ART_4.FAM_0001, ART_4.REF, ART_4.DES,
T012_4.LIB, MVTL_4.DEPO
HAVING (ART_4.DOS = '1') AND (MVTL_4.DEPO = '1' OR MVTL_4.DEPO =
'9' OR MVTL_4.DEPO = '11')
UNION
SELECT ART_1.DOS, ART_1.FAM_0001, ART_1.REF, ART_1.DES, 0 AS
QTE_DEP, 0 AS QTE_ACHAT, 0 AS QTE_ENTER, SUM(dbo.MOUV.BLQTE) AS CONS, 0 AS
QTE_MORT, 0 AS STK, T012_1.LIB, 0 as STK_MP1,0 as STK_MP9,0 as STK_MP11
FROM dbo.ART AS ART_1 LEFT OUTER JOIN
dbo.MOUV ON ART_1.DOS = dbo.MOUV.DOS AND
ART_1.REF = dbo.MOUV.REF LEFT OUTER JOIN
dbo.T012 AS T012_1 ON ART_1.DOS = T012_1.DOS
AND ART_1.FAM_0001 = T012_1.FAM
WHERE (ART_1.DOS = '1') AND (dbo.MOUV.DEPO = '1' OR
dbo.MOUV.DEPO = '9' OR dbo.MOUV.DEPO = '11') AND (dbo.MOUV.TICOD = 'I') AND
(dbo.MOUV.PICOD = 3) AND (dbo.MOUV.SENS = 2) AND (dbo.MOUV.BLDT BETWEEN @date_debut
AND @date_fin)
GROUP BY ART_1.DOS, ART_1.FAM_0001, ART_1.REF, ART_1.DES,
T012_1.LIB
UNION
SELECT ART_3.DOS, ART_3.FAM_0001, ART_3.REF, ART_3.DES, 0 AS
QTE_DEP, 0 AS QTE_ACHAT, 0 AS QTE_ENTER, 0 AS CONS, SUM(MVTL_3.STQTE) AS QTE_MORT,
0 AS STK, T012_3.LIB, 0 as STK_MP1,0 as STK_MP9,0 as STK_MP11
FROM dbo.ART AS ART_3 INNER JOIN
dbo.T012 AS T012_3 ON ART_3.DOS = T012_3.DOS
AND ART_3.FAM_0001 = T012_3.FAM INNER JOIN
dbo.MVTL AS MVTL_3 ON ART_3.DOS = MVTL_3.DOS
AND ART_3.REF = MVTL_3.REF
WHERE (MVTL_3.DEPO = '1' OR MVTL_3.DEPO = '9' OR MVTL_3.DEPO =
'11') AND (ART_3.DOS = '1') AND (MVTL_3.STQTE > 0) AND (ART_3.REF NOT IN
(SELECT ART_5.REF
FROM dbo.ART AS ART_5 INNER JOIN
dbo.MVTL AS MVTL_5 ON
ART_5.DOS = MVTL_5.DOS AND ART_5.REF = MVTL_5.REF INNER JOIN
dbo.T012 AS T012_5 ON
ART_5.DOS = T012_5.DOS AND ART_5.FAM_0001 = T012_5.FAM
WHERE (MVTL_5.DEPO = '1' OR MVTL_5.DEPO
= '9' OR MVTL_5.DEPO = '11') AND (MVTL_5.BLDT BETWEEN @date_debut AND @date_fin)
GROUP BY ART_5.DOS, MVTL_5.TICOD,
MVTL_5.PICOD, ART_5.REF, ART_5.DES, T012_5.LIB, ART_5.FAM_0001
HAVING (ART_5.DOS = '1') AND
(MVTL_5.TICOD = 'F' OR MVTL_5.TICOD = 'C') AND (MVTL_5.PICOD = 3 OR MVTL_5.PICOD =
4)))
GROUP BY ART_3.DOS, ART_3.FAM_0001, ART_3.REF, ART_3.DES,
T012_3.LIB
UNION
SELECT ART_2.DOS, ART_2.FAM_0001, ART_2.REF, ART_2.DES, 0 AS
QTE_DEP, 0 AS QTE_ACHAT, 0 AS QTE_ENTER, 0 AS CONS, 0 AS QTE_MORT,
SUM(MVTL_2.STQTE) AS STK, T012_2.LIB, 0 as STK_MP1,0 as STK_MP9,0 as STK_MP11
FROM dbo.ART AS ART_2 INNER JOIN
dbo.MVTL AS MVTL_2 ON ART_2.REF = MVTL_2.REF
AND ART_2.DOS = MVTL_2.DOS INNER JOIN
dbo.T012 AS T012_2 ON ART_2.DOS = T012_2.DOS
AND ART_2.FAM_0001 = T012_2.FAM
WHERE (ART_2.DOS = '1') AND (MVTL_2.DEPO = '1' OR MVTL_2.DEPO =
'9' OR MVTL_2.DEPO = '11')
GROUP BY ART_2.DOS, ART_2.FAM_0001, ART_2.REF, ART_2.DES,
MVTL_2.DEPO, T012_2.LIB
UNION
SELECT ART_2.DOS, ART_2.FAM_0001, ART_2.REF, ART_2.DES, 0 AS QTE_DEP, 0 AS
QTE_ACHAT, 0 AS QTE_ENTER, 0 AS CONS, 0 AS QTE_MORT, 0 AS STK, T012_2.LIB,
SUM(MVTL_2.STQTE) as STK_MP1,0 as STK_MP9,0 as STK_MP11
FROM dbo.ART AS ART_2 INNER JOIN
dbo.MVTL AS MVTL_2 ON ART_2.REF = MVTL_2.REF
AND ART_2.DOS = MVTL_2.DOS INNER JOIN
dbo.T012 AS T012_2 ON ART_2.DOS = T012_2.DOS
AND ART_2.FAM_0001 = T012_2.FAM
WHERE (ART_2.DOS = '1') AND (MVTL_2.DEPO = '1')
GROUP BY ART_2.DOS, ART_2.FAM_0001, ART_2.REF, ART_2.DES,
MVTL_2.DEPO, T012_2.LIB
UNION
SELECT ART_2.DOS, ART_2.FAM_0001, ART_2.REF, ART_2.DES, 0 AS QTE_DEP, 0 AS
QTE_ACHAT, 0 AS QTE_ENTER, 0 AS CONS, 0 AS QTE_MORT, 0 AS STK, T012_2.LIB, 0 as
STK_MP1,SUM(MVTL_2.STQTE) as STK_MP9,0 as STK_MP11
FROM dbo.ART AS ART_2 INNER JOIN
dbo.MVTL AS MVTL_2 ON ART_2.REF = MVTL_2.REF
AND ART_2.DOS = MVTL_2.DOS INNER JOIN
dbo.T012 AS T012_2 ON ART_2.DOS = T012_2.DOS
AND ART_2.FAM_0001 = T012_2.FAM
WHERE (ART_2.DOS = '1') AND (MVTL_2.DEPO = '9')
GROUP BY ART_2.DOS, ART_2.FAM_0001, ART_2.REF, ART_2.DES,
MVTL_2.DEPO, T012_2.LIB
UNION
SELECT ART_2.DOS, ART_2.FAM_0001, ART_2.REF, ART_2.DES, 0 AS QTE_DEP, 0 AS
QTE_ACHAT, 0 AS QTE_ENTER, 0 AS CONS, 0 AS QTE_MORT, 0 AS STK, T012_2.LIB, 0 as
STK_MP1,0 as STK_MP9,SUM(MVTL_2.STQTE) as STK_MP11
FROM dbo.ART AS ART_2 INNER JOIN
dbo.MVTL AS MVTL_2 ON ART_2.REF = MVTL_2.REF
AND ART_2.DOS = MVTL_2.DOS INNER JOIN
dbo.T012 AS T012_2 ON ART_2.DOS = T012_2.DOS
AND ART_2.FAM_0001 = T012_2.FAM
WHERE (ART_2.DOS = '1') AND (MVTL_2.DEPO = '11')
GROUP BY ART_2.DOS, ART_2.FAM_0001, ART_2.REF, ART_2.DES,
MVTL_2.DEPO, T012_2.LIB
) AS derivedtbl_1
GROUP BY FAM_0001, REF, DES, LIB