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
| SELECT
cle , SUM(mtt) AS montant
FROM (
SELECT
pa_id,
IF(pa_id = 1 OR pa_id = 2,IF(dc = 'C' , om_mtt , -om_mtt),0) AS mtt,
CONCAT(IF(na_id = 4 , 'PRT-' , 'HPRT-') , im_id , '-' , pa_id) AS cle
FROM (
SELECT
YEAR(e.oe_date_ope) AS annee,
m.om_dc AS dc,
e.oe_na_id AS na_id,
e.oe_im_id AS im_id,
c.cp_pa_id AS pa_id,
m.om_mtt AS om_mtt
FROM ope_entetes e
LEFT JOIN ope_mtts m ON e.oe_id = m.om_oe_id
LEFT JOIN comptes c ON m.om_cp_id = c.cp_id
HAVING annee <= 2009
) AS temp1
UNION ALL
SELECT
pa_id,
IF(pa_id = 3,IF(dc = 'C' , om_mtt/2 , -om_mtt/2),0) AS mtt,
CONCAT(IF(na_id = 4 , 'PRT-' , 'HPRT-') , im_id , '-1') AS cle
FROM (
SELECT
YEAR(e.oe_date_ope) AS annee,
m.om_dc AS dc,
e.oe_na_id AS na_id,
e.oe_im_id AS im_id,
c.cp_pa_id AS pa_id,
m.om_mtt AS om_mtt
FROM ope_entetes e
LEFT JOIN ope_mtts m ON e.oe_id = m.om_oe_id
LEFT JOIN comptes c ON m.om_cp_id = c.cp_id
HAVING annee <= 2009
) AS temp2
UNION ALL
SELECT
pa_id,
IF(pa_id = 3,IF(dc = 'C' , om_mtt/2 , -om_mtt/2),0) AS mtt,
CONCAT(IF(na_id = 4 , 'PRT-' , 'HPRT-') , im_id , '-2') AS cle
FROM (
SELECT
YEAR(e.oe_date_ope) AS annee,
m.om_dc AS dc,
e.oe_na_id AS na_id,
e.oe_im_id AS im_id,
c.cp_pa_id AS pa_id,
m.om_mtt AS om_mtt
FROM ope_entetes e
LEFT JOIN ope_mtts m ON e.oe_id = m.om_oe_id
LEFT JOIN comptes c ON m.om_cp_id = c.cp_id
HAVING annee <= 2009
) AS temp3
) AS temp4
GROUP BY cle
ORDER BY cle; |
Partager