-- Stored procedure
-- Stored procedure
-- =============================================
-- Author:		Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio
-- Create date: 18/11/2008
-- Description:	
-- =============================================
CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170409_TEST]
	-- Add the parameters for the stored procedure here
AS
BEGIN
select *, row_number() over(order by CodiceFiscale, Rete, Portafoglio) as myrank into #tmp from
(
SELECT 
--descr_prodotto,
			[Rete]
		  ,[CodiceFiscale]
		  ,[Portafoglio]
		  ,[CodiceProdotto]
		  ,[Piazza]
		  ,[CodiceValuta]
		  ,[Classe]
		  ,[CtvNominale]
		  ,[CtvReale]
	  FROM [C6Martperiodico].[RP_vTuttiIPortafogli]
	union all
	SELECT 
		--descr_prodotto,
			[Rete]
		  ,[CodiceFiscale]
		  ,[Portafoglio]
		  ,[CodiceProdotto]
		  ,[Piazza]
		  ,[CodiceValuta]
		  ,[Classe]
		  ,[CtvNominale]
		  ,[CtvReale]
	 FROM [C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq]
	 )x
SELECT 
		CodiceFiscale, rete
 into #ranking
 from  #tmp
group by 	CodiceFiscale, rete
having  max(myrank) <= 1600000
 CREATE INDEX IDX_ranking_CodiceFiscale ON #ranking(CodiceFiscale, Rete)
 CREATE INDEX IDX_temp_CodiceFiscale ON #tmp(CodiceFiscale, Rete)
select 		t.[Rete]
		  ,t.[CodiceFiscale]
		  ,t.[Portafoglio]
		  ,t.[CodiceProdotto]
		  ,t.[Piazza]
		  ,t.[CodiceValuta]
		  ,t.[Classe]
		  ,t.[CtvNominale]
		  ,t.[CtvReale] 
		  from
#tmp t inner join #ranking r on r.Rete = t.rete and r.CodiceFiscale = t.CodiceFiscale
END