-- [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] 's','LMNFNC40L14L219U' CREATE procedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] -- Add the parameters for the stored procedure here @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN SELECT Intermediario, Ordine, Banca, Controvalore, round(Percentuale,2) as Percentuale FROM ( SELECT DISTINCT Intermediario, Ordine, CASE @Rete WHEN 'F' THEN 'Fideuram' WHEN 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS Banca, SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, ( (SUM(ctv) over (partition by Intermediario,Ordine)) / (SUM(ctv) over (partition by 'Totale')) ) * 100 AS PERCENTUALE FROM ( SELECT CASE @Rete WHEN 'F' THEN 'Fideuram' WHEN 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS Intermediario, SUM(ROUND(CTV,2)) AS ctv, 1 AS ordine FROM C6MartPeriodico.PATRIMONIO_BF patrBF WHERE 1 = 1 AND patrBF.Rete = @Rete AND patrBF.Cod_Fiscale = @CodiceFiscale and patrBF.id_area not in ('CC','SELF') UNION ALL SELECT Intermediario, SUM(ROUND(CTV,2)) AS ctv, 2 AS ordine FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi WHERE 1 = 1 AND patrTerzi.Rete = @Rete AND patrTerzi.Cod_Fiscale = @CodiceFiscale GROUP BY patrTerzi.Intermediario ) PATR ) A WHERE CONTROVALORE IS NOT NULL ORDER BY Ordine END --USE [C6StampeCentralizzate] --GO --/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] Script Date: 09/02/2022 11:23:41 ******/ --SET ANSI_NULLS ON --GO --SET QUOTED_IDENTIFIER ON --GO ---- [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] 's','LMNFNC40L14L219U' --ALTER procedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] -- -- Add the parameters for the stored procedure here -- @Rete char(1), -- @CodiceFiscale varchar(16) --AS --BEGIN -- SELECT -- Intermediario, -- Ordine, -- Banca, -- Controvalore, -- round(Percentuale,2) as Percentuale -- FROM -- ( -- SELECT DISTINCT -- Intermediario, -- Ordine, -- CASE @Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, -- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, -- ( -- (SUM(ctv) over (partition by Intermediario,Ordine)) / -- (SUM(ctv) over (partition by 'Totale')) -- ) * 100 AS PERCENTUALE -- FROM -- ( -- SELECT -- CASE @Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, -- SUM(ROUND(CTV,2)) AS ctv, -- 1 AS ordine -- FROM C6MartPeriodico.PATRIMONIO_BF patrBF -- WHERE 1 = 1 -- AND patrBF.Rete = @Rete -- AND patrBF.Cod_Fiscale = @CodiceFiscale -- and patrBF.id_area not in ('CC','SELF') -- UNION ALL -- SELECT -- Intermediario, -- SUM(ROUND(CTV,2)) AS ctv, -- 2 AS ordine -- FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi -- WHERE 1 = 1 -- AND patrTerzi.Rete = @Rete -- AND patrTerzi.Cod_Fiscale = @CodiceFiscale -- GROUP BY patrTerzi.Intermediario -- ) PATR -- ) A -- WHERE CONTROVALORE IS NOT NULL -- ORDER BY Ordine --END