SET SQL_BIG_SELECTS=1; SET @Sold_curr:= 0; SELECT CLT_ID, MM, YYYY, TOTAL_MT_DEBIT, TOTAL_MT_CREDIT, SOLDE as DELTA, SOLDE_BANQ, SOLDE_BANQ_PREC FROM ( SELECT CLT_ID, MM, YYYY, TOTAL_MT_DEBIT, TOTAL_MT_CREDIT, SOLDE, SOLDE_BANQ, SOLDE_BANQ_PREC FROM ( SELECT CLT_ID, MM, YYYY, TOTAL_MT_DEBIT, TOTAL_MT_CREDIT, SOLDE , round(@Sold_curr) SOLDE_BANQ_PREC, @Sold_curr := @Sold_curr + SOLDE as SOLDE_BANQ FROM ( SELECT TR.CLT_ID, EXTRACT(MONTH FROM CALJ_ID) MM, EXTRACT(YEAR FROM CALJ_ID) YYYY ,COALESCE(SUM(CASE WHEN TRN_MVT_OP='DEBIT' THEN TRN_MT ELSE 0 END),0) as TOTAL_MT_DEBIT ,COALESCE(SUM(CASE WHEN TRN_MVT_OP='CREDIT' THEN TRN_MT ELSE 0 END),0) as TOTAL_MT_CREDIT ,(COALESCE(SUM(CASE WHEN TRN_MVT_OP='CREDIT' THEN TRN_MT ELSE 0 END),0) - COALESCE(SUM(CASE WHEN TRN_MVT_OP='DEBIT' THEN TRN_MT ELSE 0 END),0)) SOLDE FROM MYSQL_T_TRANSAC_TVA TR WHERE TR.CLT_ID =1 AND EXER_ID=12016 GROUP BY TR.CLT_ID, EXTRACT(YEAR FROM CALJ_ID), EXTRACT(MONTH FROM CALJ_ID) UNION SELECT AN.CLT_ID, 0 MM, EXTRACT(YEAR FROM DT_AN) YYYY , COALESCE(MT_DEB,0) as TOTAL_MT_DEBIT , COALESCE(MT_CRED,0) as TOTAL_MT_CREDIT , (COALESCE(MT_CRED,0)- COALESCE(MT_DEB,0)) SOLDE FROM MYSQL_T_ANOUVEAUX AN WHERE CCPT_ID=512000 AND AN.CLT_ID=1 AND EXCPTA_ID=12016 ) A ORDER BY YYYY, MM ) B UNION SELECT AN.CLT_ID, 0 MM, EXTRACT(YEAR FROM DT_AN) YYYY , COALESCE(MT_DEB,0) as TOTAL_MT_DEBIT , COALESCE(MT_CRED,0) as TOTAL_MT_CREDIT , (COALESCE(MT_CRED,0)- COALESCE(MT_DEB,0)) SOLDE, (COALESCE(MT_CRED,0)- COALESCE(MT_DEB,0)) SOLDE_BANQ, 0 SOLDE_BANQ_PREC FROM MYSQL_T_ANOUVEAUX AN WHERE CCPT_ID=512000 AND AN.CLT_ID=1 AND EXCPTA_ID=12016 ) C ORDER BY YYYY, MM