175 lines
3.8 KiB
SQL
175 lines
3.8 KiB
SQL
-- Schema: C6Mart
|
||
-- Stored Procedure: RP_DM_W6CLIESG
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
-- =============================================
|
||
-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE
|
||
-- Create date: <Create Date,,>
|
||
-- Description: <Description,,>
|
||
-- =============================================
|
||
CREATE procedure [C6Mart].[RP_DM_W6CLIESG]
|
||
AS
|
||
BEGIN
|
||
|
||
SET NOCOUNT ON;
|
||
|
||
|
||
-- Log esecuzione
|
||
INSERT INTO LOG_ESECUZIONE
|
||
(Nome, Inizio, Nota)
|
||
VALUES (
|
||
'RP_DM_W6CLIESG',
|
||
GETDATE(),
|
||
'Elaborazione Lettere di Benvenuto'
|
||
)
|
||
|
||
TRUNCATE TABLE C6Mart.SPB_W6CLIESG
|
||
TRUNCATE TABLE C6Mart.W6CLIESG
|
||
|
||
INSERT INTO C6Mart.SPB_W6CLIESG
|
||
(
|
||
[Rete]
|
||
,[Codice_Agente]
|
||
,[Codice_Fiscale]
|
||
,[Piva_Fiduciaria]
|
||
,[Codman]
|
||
,[BeneficioDiversificazione]
|
||
,[ValoreVaR]
|
||
,[Riserva]
|
||
,[PesoSostESG]
|
||
,[CSP]
|
||
,[ConcLungoPeriodo]
|
||
,[Liquidita]
|
||
,[NoSostESG]
|
||
,[SostPercE]
|
||
,[SostPercS]
|
||
,[SostPercG]
|
||
,[SostESGInLinea]
|
||
,[SostPercEInLinea]
|
||
,[SostPercSInLinea]
|
||
,[SostPercGInLinea]
|
||
,[NoSostSFDR]
|
||
,[SostSFDR]
|
||
,[SostSFDRInLinea]
|
||
,[NoSostTaxonomy]
|
||
,[SostTaxonomy]
|
||
,[SostTaxonomyInLinea]
|
||
,[NoSostPaiE]
|
||
,[SostPaiE]
|
||
,[SostPaiEInLinea]
|
||
,[NoSostPaiS]
|
||
,[SostPaiS]
|
||
,[SostPaiSInLinea]
|
||
,[Sost_E]
|
||
,[Sost_S]
|
||
,[Sost_G]
|
||
,[percESG]
|
||
,[UlterioriPrefSost]
|
||
,[PercSFDR]
|
||
,[PercTaxonomy]
|
||
,[PAI_E]
|
||
,[PAI_S]
|
||
,[ListPAI_E]
|
||
,[ListPAI_S])
|
||
SELECT distinct
|
||
[Rete]
|
||
,[Codice_Agente]
|
||
,case when ISNULL(CODMAN,'')<>'' then 'FF@'+CODMAN
|
||
else Codice_Fiscale end as Codice_Fiscale
|
||
,[Piva_Fiduciaria]
|
||
,[Codman]
|
||
,[BeneficioDiversificazione]
|
||
,[ValoreVaR]
|
||
,[Riserva]
|
||
,[PesoSostESG]
|
||
,[CSP]
|
||
,[ConcLungoPeriodo]
|
||
,[Liquidita]
|
||
,[NoSostESG]
|
||
,[SostPercE]
|
||
,[SostPercS]
|
||
,[SostPercG]
|
||
,[SostESGInLinea]
|
||
,[SostPercEInLinea]
|
||
,[SostPercSInLinea]
|
||
,[SostPercGInLinea]
|
||
,[NoSostSFDR]
|
||
,[SostSFDR]
|
||
,[SostSFDRInLinea]
|
||
,[NoSostTaxonomy]
|
||
,[SostTaxonomy]
|
||
,[SostTaxonomyInLinea]
|
||
,[NoSostPaiE]
|
||
,[SostPaiE]
|
||
,[SostPaiEInLinea]
|
||
,[NoSostPaiS]
|
||
,[SostPaiS]
|
||
,[SostPaiSInLinea]
|
||
,[Sost_E]
|
||
,[Sost_S]
|
||
,[Sost_G]
|
||
,[percESG]
|
||
,[UlterioriPrefSost]
|
||
,[PercSFDR]
|
||
,[PercTaxonomy]
|
||
,isnull([PAI_E],'')
|
||
,isnull([PAI_S],'')
|
||
,[ListPAI_E]
|
||
,[ListPAI_S]
|
||
FROM [C6StampeCentralizzate].[C6Staging].[SPB_W6CliESG]
|
||
|
||
drop table if exists #st_split_E
|
||
drop table if exists #st_split_S
|
||
drop table if exists #st_split_ES
|
||
|
||
-- Step 1: Creazione delle tabelle temporanee
|
||
SELECT
|
||
value AS ListPAI_E,
|
||
[Rete],
|
||
[Codice_Agente],
|
||
CASE
|
||
WHEN CODMAN <> '' THEN 'FF@' + CODMAN
|
||
ELSE Codice_Fiscale
|
||
END AS COD_FISCALE
|
||
INTO #st_split_E
|
||
FROM C6Mart.SPB_W6CLIESG
|
||
CROSS APPLY STRING_SPLIT(ListPAI_E, '|')
|
||
|
||
SELECT
|
||
value AS ListPAI_S,
|
||
[Rete],
|
||
[Codice_Agente],
|
||
CASE
|
||
WHEN CODMAN <> '' THEN 'FF@' + CODMAN
|
||
ELSE Codice_Fiscale
|
||
END AS COD_FISCALE
|
||
INTO #st_split_S
|
||
FROM C6Mart.SPB_W6CLIESG
|
||
CROSS APPLY STRING_SPLIT(ListPAI_S, '|')
|
||
|
||
--select * from C6Mart.SPB_W6CLIESG
|
||
--select * from #st_split_E
|
||
--select * from #st_split_S
|
||
|
||
-- Step 2: Aggregare le descrizioni in un'unica query
|
||
SELECT
|
||
[Rete],
|
||
[COD_FISCALE],
|
||
STRING_AGG(CASE
|
||
WHEN ListPAI_E = 'PAI_A01' THEN 'Emissioni gas serra'
|
||
WHEN ListPAI_E = 'PAI_A02' THEN 'Biodiversit<EFBFBD>'
|
||
WHEN ListPAI_E = 'PAI_A03' THEN 'Acqua'
|
||
WHEN ListPAI_E = 'PAI_A04' THEN 'Rifiuti'
|
||
WHEN ListPAI_E = 'PAI_A05' THEN 'Governativi di tipo Ambientale'
|
||
WHEN ListPAI_E = 'PAI_A07' THEN 'Efficienza energetica'
|
||
WHEN ListPAI_E = 'PAI_A0
|