-- Schema: C6MartPeriodico -- Stored Procedure: DM_CONS_ATTIVAGGIORNATA --select ordinamento_progetto,id_area,* --FROM -- C6MARTPERIODICO.PATRIMONIO_BF -- WHERE -- 1=1 -- AND ID_AREA not in ('Na', 'Cc') -- and ctv >0 -- and cod_fiscale = 'GNGFRZ63H17D810C' -- and id_area like 'pre%' -- --select * from c6martperiodico.cons_attivaggiornata --where cod_fiscale = 'GNGFRZ63H17D810C' -- ============================================= -- Author: ALESSANDRO TRINGALI -- Create date: < 26/09/2009> -- Description: -- ============================================= --[C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] CREATE procedure [C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA] -- Add the parameters for the stored procedure here -- Add the parameters for the stored procedure here AS BEGIN -- riportare le logiche nelle rispettive sp di PL SET NOCOUNT ON; DECLARE @ID_ELAB INT DECLARE @TIPO_ELAB VARCHAR(1) SET @ID_ELAB = C6MartPeriodico.GETIDELAB() SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() -- Log esecuzione INSERT INTO LOG_ESECUZIONE_PERIODICO (Nome, Inizio, Nota) VALUES ( 'DM_CONS_ATTIVAGGIORNATA', GETDATE(), 'Elaborazione trimestrale' ) TRUNCATE TABLE [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] ( [RETE] ,[COD_FISCALE] ,[ID_AREA] ,[NOME_PROGETTO] ,[TIPO_PROGETTO] ,[PERC_AREA] ,[CTV_PROGETTO] ,[CTV_AREA] ,[ORIZZ_TEMP_NUM] ,[ORIZZ_TEMP] ,[CTV_TOTALE] ,[STATO_CONSULENZA] ,[DATA_STATO_CONS] ,[DATA_MIGR_CONS] ,[DATA_PIANIF] ,[ID_CONTRATTO] ,[ORDINAMENTO_PROGETTO]) SELECT [RETE] ,[COD_FISCALE] ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA ,[NOME_PROGETTO] ,[TIPO_PROGETTO] ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA , MAX(CTV_PROGETTO) AS CTV_PROGETTO ,MAX(CTV_AREA) AS CTV_aREA ,max([ORIZZ_TEMP_NUM]) ,max([ORIZZ_TEMP]) ,MAX(CTV_TOTALE) AS CTV_TOTALE ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS ,MAX(DATA_PIANIF) AS DATA_PIANIF ,[ID_CONTRATTO] ,[ORDINAMENTO_PROGETTO] FROM ( SELECT COD_FISCALE, RETE, ID_AREA, NOME_PROGETTO, CTV, 0 AS ID_CONTRATTO, [ORDINAMENTO_PROGETTO], [tipo_progetto], SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF FROM C6MARTPERIODICO.PATRIMONIO_BF WHERE 1=1 AND ID_AREA not in ('Na', 'Cc','Pre','Pre1','Pre2') and ctv >0 ) K GROUP BY COD_FISCALE ,RETE ,CASE WHE