SELECT idCollege,libelleCollege,
SUM(JANVIER) AS JANVIER,SUM(FEVRIER) AS FEVRIER 
,SUM(MARS) AS MARS,SUM(AVRIL) AS AVRIL ,SUM(MAI) AS MAI ,SUM(JUIN) AS JUIN
 ,SUM(JUILLET) AS JUILLET ,SUM(AOUT) AS AOUT ,SUM(SEPTEMBRE) AS SEPTEMBRE ,SUM(OCTOBRE) AS OCTOBRE
 ,SUM(NOVEMBRE) AS NOVEMBRE,SUM(DECEMBRE) AS DECEMBRE,
(SUM(JANVIER)+SUM(FEVRIER)+SUM(MARS)+SUM(AVRIL)+SUM(MAI)+SUM(JUIN)+SUM(JUILLET)+SUM(AOUT) 
+SUM(SEPTEMBRE)+SUM(OCTOBRE)+SUM(NOVEMBRE)+SUM(DECEMBRE)) AS TOTAUX 
 FROM (
SELECT a.codeGcAssureur AS codeGarant,fn_libelle_garant_rp(a.codeGcAssureur) Garant,a.idClient ,a.idPolice,a.numeroPolice,fn_libelle_police(a.numeroPolice) AS libelle_police,a.idCollege,libelleCollege,
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='1' THEN COUNT(idBeneficiaire) ELSE '0' END 'JANVIER',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='2' THEN COUNT(idBeneficiaire) ELSE '0' END 'FEVRIER',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='3' THEN COUNT(idBeneficiaire) ELSE '0' END 'MARS',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='4' THEN COUNT(idBeneficiaire) ELSE '0' END 'AVRIL',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='5' THEN COUNT(idBeneficiaire) ELSE '0' END 'MAI',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='6' THEN COUNT(idBeneficiaire) ELSE '0' END 'JUIN',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='7' THEN COUNT(idBeneficiaire) ELSE '0' END 'JUILLET',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='8' THEN COUNT(idBeneficiaire) ELSE '0' END 'AOUT',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='9' THEN COUNT(idBeneficiaire) ELSE '0' END 'SEPTEMBRE',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='10' THEN COUNT(idBeneficiaire) ELSE '0' END 'OCTOBRE',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='11' THEN COUNT(idBeneficiaire) ELSE '0' END 'NOVEMBRE',
	CASE WHEN MONTH(LEFT(a.dateEntreeBeneficiaire,10))='12' THEN COUNT(idBeneficiaire) ELSE '0' END 'DECEMBRE'
FROM vw_p_beneficiaire_rp AS a
WHERE LEFT(a.dateEntreeBeneficiaire,10)>='2022-01-01'  AND LEFT(a.dateEntreeBeneficiaire,10)<='2022-12-31'  
AND (CASE WHEN 'VS' IS NULL THEN a.codeGcAssureur IS NOT NULL ELSE a.codeGcAssureur='VS' END)  
AND a.codeLienParente='A'
AND CASE WHEN a.sorti = "1" THEN a.dateSortieBeneficiaire >= a.dateEntreeBeneficiaire ELSE a.dateSortieBeneficiaire  IS NULL END 
GROUP BY a.codeGcAssureur ,a.idClient ,a.idPolice,a.numeroPolice,a.dateEntreeBeneficiaire,a.idCollege,libelleCollege

	) depense
	GROUP BY idCollege,libelleCollege
	ORDER BY idCollege,TOTAUX DESC ;
	
