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
| WITH
DER_CMD (N_AVENANT, ID_S_CMD, ID_ANNEE)
AS
(SELECT MAX(N_AVENANT), ID_S_CMD, ID_ANNEE
FROM S_CMD
GROUP BY ID_S_CMD, ID_ANNEE)
SELECT DISTINCT
OFS.ID_OFS as NUMERO_OF,
S_CMD.DATE_CMD as DATE_CDE,
S_CMD.ID_S_CMD as N_COMMANDE,
S_CMD.ID_ANNEE as ANNEE,
S_CMD_LG.N_LIGNE as LIGNE,
FOURN_ST.NOM as FOURNISSEUR,
ARTICLE.REF as ARTICLE,
ARTICLE.LIBELLE as DESIGNATION,
S_CMD_LG.QTE_CMDEE as QTE_CMDEE,
S_BL.N_BL as BL_ST,
MAX(S_CMD.N_AVENANT) as N_AVENANT,
S_BL_LG.QTE_LIVREE as QTE_BL_ST
FROM S_CMD
INNER JOIN DER_CMD ON S_CMD.ID_S_CMD = DER_CMD.ID_S_CMD AND S_CMD.ID_ANNEE = DER_CMD.ID_ANNEE AND S_CMD.N_AVENANT = DER_CMD.N_AVENANT
INNER JOIN S_CMD_LG ON S_CMD.CD_S_CMD = S_CMD_LG.CD_S_CMD
INNER JOIN FOURN_ST ON FOURN_ST.CD_FOURN_ST = S_CMD.CD_FOURN_ST
INNER JOIN OFS ON OFS.CD_OFS = S_CMD_LG.CD_OFS
INNER JOIN ARTICLE ON ARTICLE.CD_ARTICLE = OFS.CD_ARTICLE
FULL JOIN S_BL_LG ON S_CMD_LG.CD_S_CMD = S_BL_LG.CD_S_CMD AND S_CMD_LG.N_LIGNE = S_BL_LG.N_LIGNE
FULL JOIN S_BL ON S_BL_LG.CD_S_BL = S_BL.CD_S_BL
WHERE S_CMD_LG.QTE_CMDEE <> 0
AND S_CMD.DATE_CMD > add_months(sysdate, -100)
GROUP BY S_BL_LG.QTE_LIVREE, S_BL.N_BL, S_CMD_LG.QTE_CMDEE, ARTICLE.LIBELLE, ARTICLE.REF, FOURN_ST.NOM, S_CMD_LG.N_LIGNE, S_CMD.ID_ANNEE, S_CMD.ID_S_CMD, S_CMD.DATE_CMD, OFS.ID_OFS
ORDER BY S_CMD.DATE_CMD asc |