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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
| SELECT distinct
--E.numero as id,
G.codeCompte AS comptegeneral,
G.Caption AS libellecompte,
S.code AS SECTION,
-- (ltrim(rtrim(LEFT(E.Caption,7))) ) AS libelle,
-- CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7)))),
-- len(ltrim(rtrim(LEFT(E.Caption,7)))),
case
WHEN CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7)))) = 0 then ltrim(rtrim(LEFT(E.Caption,7)))
WHEN CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7)))) = 6 then SUBSTRING(ltrim(rtrim(LEFT(E.Caption,7))),1, CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7))))-1 )
else
ltrim(rtrim(LEFT(E.Caption,7))) end as libelle,
TP.Caption AS societe,
PA1.Caption AS marque,
PA2.Caption AS Departement,
PA3.Caption AS produit,
PA4.Caption AS canal,
PA5.Caption AS lieu
FROM TECRITUREANALYTIQUE A
INNER JOIN TPIECEANALYTIQUE P ON P.oid=A.oidpieceAnalytique
INNER JOIN TECRITURE E ON E.oid=P.oidecriture
INNER JOIN TCOMPTEGENERAL G ON G.oid=E.oidcompteGeneral
INNER JOIN TPIECE P1 ON P1.oid=E.oidpiece
INNER JOIN TPOINTANALYTIQUE PA ON PA.oid=A.oidpointAnalytique
INNER JOIN TSECTIONANALYTIQUE S ON S.oid=PA.oidSectionAnalytique
INNER JOIN TDBFPERIMETREPARTAGE TP ON TP.oid=A.oidShare
INNER JOIN TCONSTITUTIONSECTION CS1 ON CS1.oidSectionAnalytique=S.oid
INNER JOIN TCONSTITUTIONSECTION CS2 ON CS2.oidSectionAnalytique=S.oid
INNER JOIN TCONSTITUTIONSECTION CS3 ON CS3.oidSectionAnalytique=S.oid
INNER JOIN TCONSTITUTIONSECTION CS4 ON CS4.oidSectionAnalytique=S.oid
INNER JOIN TCONSTITUTIONSECTION CS5 ON CS5.oidSectionAnalytique=S.oid
INNER JOIN TPOSITIONANALYTIQUE PA1 ON PA1.oid=CS1.oidPositionAnalytique
INNER JOIN TPOSITIONANALYTIQUE PA2 ON PA2.oid=CS2.oidPositionAnalytique
INNER JOIN TPOSITIONANALYTIQUE PA3 ON PA3.oid=CS3.oidPositionAnalytique
INNER JOIN TPOSITIONANALYTIQUE PA4 ON PA4.oid=CS4.oidPositionAnalytique
INNER JOIN TPOSITIONANALYTIQUE PA5 ON PA5.oid=CS5.oidPositionAnalytique
WHERE CS1.numero=1
AND CS2.numero=2
AND CS3.numero=3
AND CS4.numero=4
AND CS5.numero=5
AND E.numero IN (
SELECT
max(E.numero) as id
-- G.codeCompte AS comptegeneral,
-- G.Caption AS libellecompte,
--- S.code AS SECTION,
-- (ltrim(rtrim(LEFT(E.Caption,7))) ) AS libelle,
-- CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7)))),
-- len(ltrim(rtrim(LEFT(E.Caption,7)))),
-- case
-- WHEN CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7)))) = 0 then ltrim(rtrim(LEFT(E.Caption,7)))
-- WHEN CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7)))) = 6 then SUBSTRING(ltrim(rtrim(LEFT(E.Caption,7))),1, CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7))))-1 )
-- else
-- ltrim(rtrim(LEFT(E.Caption,7))) end as libelle,
-- TP.Caption AS societe,
-- PA1.Caption AS marque,
-- PA2.Caption AS Departement,
-- PA3.Caption AS produit,
--- PA4.Caption AS canal,
-- PA5.Caption AS lieu
FROM TECRITUREANALYTIQUE A
INNER JOIN TPIECEANALYTIQUE P ON P.oid=A.oidpieceAnalytique
INNER JOIN TECRITURE E ON E.oid=P.oidecriture
INNER JOIN TCOMPTEGENERAL G ON G.oid=E.oidcompteGeneral
INNER JOIN TPIECE P1 ON P1.oid=E.oidpiece
INNER JOIN TPOINTANALYTIQUE PA ON PA.oid=A.oidpointAnalytique
INNER JOIN TSECTIONANALYTIQUE S ON S.oid=PA.oidSectionAnalytique
INNER JOIN TDBFPERIMETREPARTAGE TP ON TP.oid=A.oidShare
INNER JOIN TCONSTITUTIONSECTION CS1 ON CS1.oidSectionAnalytique=S.oid
INNER JOIN TCONSTITUTIONSECTION CS2 ON CS2.oidSectionAnalytique=S.oid
INNER JOIN TCONSTITUTIONSECTION CS3 ON CS3.oidSectionAnalytique=S.oid
INNER JOIN TCONSTITUTIONSECTION CS4 ON CS4.oidSectionAnalytique=S.oid
INNER JOIN TCONSTITUTIONSECTION CS5 ON CS5.oidSectionAnalytique=S.oid
INNER JOIN TPOSITIONANALYTIQUE PA1 ON PA1.oid=CS1.oidPositionAnalytique
INNER JOIN TPOSITIONANALYTIQUE PA2 ON PA2.oid=CS2.oidPositionAnalytique
INNER JOIN TPOSITIONANALYTIQUE PA3 ON PA3.oid=CS3.oidPositionAnalytique
INNER JOIN TPOSITIONANALYTIQUE PA4 ON PA4.oid=CS4.oidPositionAnalytique
INNER JOIN TPOSITIONANALYTIQUE PA5 ON PA5.oid=CS5.oidPositionAnalytique
WHERE CS1.numero=1
AND CS2.numero=2
AND CS3.numero=3
AND CS4.numero=4
AND CS5.numero=5
AND E.oidShare in
(SELECT oid
FROM TDBFPERIMETREPARTAGE
WHERE Caption= 'MA')
AND YEAR(eDate) IN (2021)
AND eDate >='20210101'
AND eDate <= '20210630'
-- and ltrim(rtrim(LEFT(E.Caption,7)))='924356'
AND G.codeCompte IN ('70721000','70721005','70710000','70770000')
group by TP.Caption,PA1.Caption, PA2.Caption,PA3.Caption,G.codeCompte, case
WHEN CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7)))) = 0 then ltrim(rtrim(LEFT(E.Caption,7)))
WHEN CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7)))) = 6 then SUBSTRING(ltrim(rtrim(LEFT(E.Caption,7))),1, CHARINDEX(' ', ltrim(rtrim(LEFT(E.Caption,7))))-1 )
else
ltrim(rtrim(LEFT(E.Caption,7))) end) |
Partager