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
| SELECT
EC.COMMERCIAL,
EC.CLIENT,
P.GRDFAMILLE,
P.FAMILLE,
-- MAX(P.FAMILLE) AS PDFAM, -- Inutile P.FAMILLE dans le GROUP BY
/*MAX(*/FA.LIBELLE/*)*/ AS LIBFAB, -- Aggregat inutile également (cf. jointure)
/*MAX(*/CO.NOM/*)*/ AS NOMCO, -- Le dernier commercial dans l'ordre alphabétique ????
SUM(LC.QTEFAC * LC.CDTCARTON) AS QTELI,
SUM(LC.MTLIGNE) AS MTHT,
/*MAX(*/CL.NOM/*)*/ AS NOMCLI, -- Même remarque que pour le commercial !
MAX(CL.TXCOM) AS TXCOMS,
SUM(LC.QTEFAC * RC.RECAR_PRIME) AS PRIME,
MIN(TC.TXCOM) AS TXCO,
SUM(LC.PXREVIENT) AS MTREV,
SUM(LC.MTLIGNE - LC.PXREVIENT) AS MARGE,
MIN(FA.TAUX) AS TX1,
MIN(FA.TAUXMARGE) AS TXMAR,
IIF(TX1 > TXCOMS, TX1 = TXCOMS, TX1) AS TX,
IIF(TXMAR IS NULL OR TXMAR = 0.00, MARGE, MTHT - ((MTHT * TXMAR) / 100)) AS POURCT,
(POURCT * TX) / 100 AS MTCOM
FROM
LIGFCTCLIENT AS LC
INNER JOIN ENTFCTCLIENT AS EC
ON LC.NUFCT = EC.NUFCT
LEFT JOIN PRODUIT AS P
ON P.NUART = LC.REFERENCE
INNER JOIN COMMERCIAUX AS CO
ON CO.CODE = EC.COMMERCIAL
LEFT JOIN FAMARTICLE AS FA
ON FA.GFAM = P.GRDFAMILLE
AND FA.CODE = P.FAMILLE
INNER JOIN CLIENTS AS CL
ON CL.CODE = EC.CLIENT
INNER JOIN REMISECARTON AS RC
ON RC.NUART = LC.REFERENCE
LEFT JOIN TXCOM_COMMERCIAL AS TC
ON TC.COMMERCIAL = CO.CODE
AND TC.GFAM = P.GRDFAMILLE
AND TC.FAMILLE = P.FAMILLE
GROUP BY
EC.COMMERCIAL,
EC.CLIENT,
P.GRDFAMILLE,
P.FAMILLE,
-- ajout
FA.LIBELLE,
CO.NOM,
CL.NOM;
/*
ORDER BY
EC.COMMERCIAL,
EC.CLIENT,
P.GRDFAMILLE,
P.FAMILLE; -- Inutile si identique au Group by
*/ |
Partager