CREATE procedure [level2martperiodico].[DM_PatrimonioTerziAggregato] AS -- Log esecuzione INSERT INTO LOG_ESECUZIONE_PERIODICO (Nome, Inizio, Nota) VALUES ( 'level2martperiodico.DM_PatrimonioTerziAggregato', GETDATE(), 'Elaborazione trimestrale' ) truncate table [level2martperiodico].PatrimonioTerziAggregato insert into [level2martperiodico].PatrimonioTerziAggregato SELECT RETE, COD_FISCALE, SUM(ROUND(CTV, 2)) AS CTV, SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END, 2)) AS ControvaloreSenzaCC, SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END, 2)) AS ControvaloreCC, count(DISTINCT INTERMEDIARIO) as NumeroIntermediari FROM C6MartPeriodico.PATRIMONIO_TERZI GROUP BY RETE, COD_FISCALE UPDATE LOG_ESECUZIONE_PERIODICO SET Fine = GETDATE(), Tipo = 'INSERT', Righe = @@ROWCOUNT WHERE Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato' AND Inizio = ( SELECT MAX(Inizio) FROM LOG_ESECUZIONE_PERIODICO WHERE Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato' )