1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| SELECT T029_21.STAT + ' - ' + T029_21.LIB AS LIB1,
T029_22.STAT + ' - ' + T029_22.LIB AS LIB2,
SUM(CASE
WHEN ENT.PIDT BETWEEN DATEADD(year, DATEDIFF(year, 0, getdate())-1, 0)
AND DATEADD(year, DATEDIFF(year, -1, getdate())-1, -1)
THEN CASE T020.SENS WHEN 1 THEN -1 ELSE 1 END * MOUV.SYREFFACQTE
ELSE 0
END) AS COL3,
SUM(CASE
WHEN ENT.PIDT BETWEEN DATEADD(year, DATEDIFF(year, 0, getdate()) , 0)
AND DATEADD(year, DATEDIFF(year, -1, getdate()) , -1)
THEN CASE T020.SENS WHEN 1 THEN -1 ELSE 1 END * MOUV.SYREFFACQTE
ELSE 0
END) AS COL4,
SUM(CASE
WHEN ENT.PIDT BETWEEN DATEADD(year, DATEDIFF(year, 0, getdate())-1, 0)
AND DATEADD(year, DATEDIFF(year, -1, getdate())-1, -1)
THEN CASE T020.SENS WHEN 1 THEN -1 ELSE 1 END * Round(MOUV.PUSTAT * MOUV.SYREFFACQTE, 2)
ELSE 0
END) AS COL6,
SUM(CASE
WHEN ENT.PIDT BETWEEN DATEADD(year, DATEDIFF(year, 0, getdate()) , 0)
AND DATEADD(year, DATEDIFF(year, -1, getdate()) , -1)
THEN CASE T020.SENS WHEN 1 THEN -1 ELSE 1 END * Round(MOUV.PUSTAT * MOUV.SYREFFACQTE, 2)
ELSE 0
END) AS COL7,
0 AS COL9,
0 AS COL10,
0 AS COL12,
0 AS COL13,
0 AS COL15,
0 AS COL16,
Grouping(T029_21.STAT + ' - ' + T029_21.LIB) AS GRP1,
Grouping(T029_22.STAT + ' - ' + T029_22.LIB) AS GRP2
FROM dbo.MOUV
INNER JOIN dbo.ENT
ON ENT.DOS = MOUV.DOS
AND ENT.PINO = MOUV.FANO
INNER JOIN dbo.T020
ON T020.OP = MOUV.OP
INNER JOIN dbo.CLI
ON CLI.DOS = ENT.DOS
AND CLI.TIERS = ENT.TIERS
INNER JOIN dbo.ART
ON MOUV.DOS = ART.DOS
AND MOUV.REF = ART.REF
LEFT OUTER JOIN dbo.T036
ON T036.PRODNAT = ART.PRODNAT
AND T036.DOS = 999
AND T036.SYTYPEFRAIS IN (0, 1)
LEFT OUTER JOIN dbo.T029 AS T029_21
ON T029_21.DOS = BASE.DOS
AND T029_21.STAT = LEFT(CLI.STAT_0002, 1)
AND T029_21.CEBIN = 29
AND T029_21.STATNO = 2
LEFT OUTER JOIN dbo.T029 AS T029_22
ON T029_22.DOS = BASE.DOS
AND T029_22.STAT = LEFT(CLI.STAT_0002, 3)
AND T029_22.CEBIN = 29
AND T029_22.STATNO = 2
WHERE MOUV.TICOD = 'C'
AND MOUV.CE8 = '1'
AND MOUV.PICOD = 4
AND ENT.TICOD = 'C'
AND ENT.PICOD = 4
AND ENT.CE4 = 1
AND T020.CEBIN = 20
AND T020.DOS = 999
AND CLI.CE1 = 3
AND ENT.PIDT BETWEEN DATEADD(year, DATEDIFF(year, 0, getdate())-1, 0)
AND DATEADD(year, DATEDIFF(year, -1, getdate()) , -1)
AND ENT.DOS = 50
AND ENT.CE4 = '1'
AND ENT.TICOD = 'C'
AND ENT.PICOD = 4
AND MOUV.FACE4 = 1
GROUP BY T029_21.STAT + ' - ' + T029_21.LIB,
T029_22.STAT + ' - ' + T029_22.LIB WITH ROLLUP; |
Partager