SELECT
   codici_progetto AS "Numero identificativo del progetto"
 , codice_fiscale AS "Codice fiscale beneficiario"
 , beneficiario_ultimo AS "Ragione sociale del beneficiario"
 , data_domanda AS "data domanda del beneficiario|date"
 , (atto_approvazione_bando).numero AS "Codice Bando di applicazione"
 , (atto_approvazione_bando).data AS "Data Bando di applicazione|date"
 , stato_richiesta AS "Stato richiesta/progetto"
 , (atto_concessione_definitiva).numero AS "Numero concessione definitiva"
 , (atto_concessione_definitiva).data AS "Data concessione definitiva|date"
 , CASE ruolo_partner IS NULL WHEN true THEN 'No' ELSE 'Sì' END AS "Parternariato"
 , titolo_progetto AS "Titolo Progetto"
 , programma AS "Descrizione programma finanziamento"
 , linea AS "Codice Linea / Sub Linea"
 , norma_agevolazione AS "Norma di agevolazione"
 , forma_giuridica AS "Forma giuridica del beneficiario"
 , tipi_beneficiario AS "Tipologia beneficiario"
 , cap_sede_legale AS "CAP sede legale"
 , comune_sede_legale AS "Comune sede legale"
 , provincia_sede_legale AS "Sigla provincia sede legale"
 , codice_ateco AS "Codice ATECO"
 , classificazione_ateco AS "Classificazione ATECO"
 , dimensione_impresa AS "Dimensione impresa"
 , cap_unita_locale AS "CAP unità locale di ubicazione progetto"
 , comune_unita_locale AS "Comune unità locale di ubicazione prog."
 , provincia_unita_locale AS "Sigla provincia unità locale di ubicazione prog."
 , data_rinuncia_ritiro AS "Data rinuncia/ritiro|date"
 , ruolo_partner AS "Ruolo del Partner"
 , tipo_agevolazione AS "Tipo agevolazione"
 , spesa_ammessa AS "Investimento finale ammesso|money"
 , importo_definitivo AS "Importo agevolazione definitiva|money"
 , importo_definitivo_deminimis AS "Importo “de minimis” definitivo|money"
 , finalita_liquidita AS "Finalità liquidità"
 , preammortamento AS "periodo di preammortamento in mesi|number"
 , tasso_nominale_annuo AS "tasso nominale annuo|number"
 , percentuale_capitale_sociale AS "percentuale rispetto al capitale sociale|number"
 , durata_aiuto AS "durata dell'aiuto in mesi|number"
 , importo_erogato AS "Agevolazione erogata|money"
 , importo_erogato_deminimis AS "Importo de minimis erogato|money"
 , spese_rendicontate_ammesse AS "Spese rendicontate ammesse|money"
 , erogazione_bancaria AS "Erogazione bancaria|money"
 , importo_revocato AS "Importo revocato|money"
FROM beneficiari_progetti
JOIN progetti USING(id_progetto)
NATURAL LEFT JOIN bandi
NATURAL JOIN (SELECT id_progetto, array_to_string(array_agg(DISTINCT codice), ',') AS codici_progetto FROM codici_di_progetto GROUP BY id_progetto) codici_di_progetto
NATURAL JOIN (SELECT id_progetto, codice_fiscale, array_to_string(array_agg(DISTINCT tipo_beneficiario), ',') AS tipi_beneficiario FROM tb_bp GROUP BY id_progetto,codice_fiscale) tipi_beneficiari
LEFT JOIN (
	SELECT
	   *
	FROM agevolazioni_richieste_e_concesse
	NATURAL FULL JOIN (
		SELECT
		   id_progetto
		 , codice_fiscale
		 , tipo_agevolazione
		 --, array_to_string(array_agg(DISTINCT data_erogazione), ',') AS data_erogazione
		 , sum(importo_erogato) AS importo_erogato
		 , sum(importo_erogato_deminimis) AS importo_erogato_deminimis
		 , sum(erogazione_bancaria) AS erogazione_bancaria
		 --, array_to_string(array_agg(DISTINCT banca_erogatrice), ',') AS banca_erogatrice
		 , sum(spese_rendicontate_ammesse) AS spese_rendicontate_ammesse
		FROM agevolazioni_erogate_restituite
		GROUP BY id_progetto,codice_fiscale,tipo_agevolazione
	) agevolazioni_erogate_restituite
) concessioni_erogazioni USING(id_progetto,codice_fiscale)
LEFT JOIN (
	SELECT
	   id_progetto
	 , codice_fiscale
	 , sum(importo_revocato) AS importo_revocato
	FROM agevolazioni_revocate
	GROUP BY id_progetto,codice_fiscale
) revoche USING(id_progetto,codice_fiscale)
