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
|
SELECT
NE.nature_engagement,
EE.n_nature_engagement,
EE.montant_engager,
SUM(
CASE
WHEN DATALENGTH(COALESCE(ME.n_certification2, '')) = 0
THEN 0
ELSE ISNULL(ME.montant, 0)
END
) AS modification_engager,
EM.total_mandater
FROM dbo.etat_budget EB
INNER JOIN dbo.etat_engagement EE
ON EB.id1 = EE.id1
INNER JOIN dbo.nature_engagement NE
ON EE.id_nature_engagement = NE.id_nature_engagement
INNER JOIN dbo.rubrique_budgetaire RB
ON EB.id_rubrique = RB.id_rubrique
LEFT OUTER JOIN (
SELECT
id2,
SUM(EM.montant_mandater) AS total_mandater
FROM dbo.etat_mandatement
GROUP BY id2
) EM
ON EE.id2 = EM.id2
LEFT OUTER JOIN dbo.modification_engager ME
ON EE.id2 = ME.id2
GROUP BY
NE.nature_engagement,
EE.n_nature_engagement,
EE.montant_engager |