-- Stored procedure -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE procedure [C6Mart].[PL_D_S153PatrimonioFinanziario] -- Add the parameters for the stored procedure here @Rete char(1), @CodiceFiscale varchar(16) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from DECLARE @NOMERETE VARCHAR(30) --IF @Rete = 'F' --SET @NOMERETE = 'Banca Fideuram' --ELSE --SET @NOMERETE = 'Sanpaolo Invest' IF @Rete = 'F' SET @NOMERETE = 'Banca Fideuram' ELSE IF @Rete = 'S' SET @NOMERETE = 'Sanpaolo Invest' ELSE SET @NOMERETE = 'IW Private Investments' SELECT Intermediario, Ordine, Banca, Controvalore, round(Percentuale,2) as Percentuale FROM ( SELECT DISTINCT Intermediario, Ordine, @NOMERETE AS Banca, -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv 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 @NOMERETE AS Intermediario, SUM(ROUND(CTV,2)) AS ctv, 1 AS ordine FROM C6MART.PATRIMONIO_BF patrBF -- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo -- ON PATRBF.RETE = CCNegativo.Rete -- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale -- AND PATRBF.TIPO_PRODOTTO = 'CC' WHERE 1 = 1 AND patrBF.Rete = @Rete AND patrBF.Cod_Fiscale = @CodiceFiscale --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO and patrBF.id_area <> 'cc' UNION ALL SELECT Intermediario, SUM(ROUND(CTV,2)) AS ctv, 2 AS ordine FROM C6MART.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 [C6Mart].[PL_D_S153PatrimonioFinanziario] Script Date: 08/02/2022 17:19:22 ******/ --SET ANSI_NULLS ON --GO --SET QUOTED_IDENTIFIER ON --GO ---- Stored procedure ---- ============================================= ---- Author: ---- Create date: ---- Description: ---- ============================================= --ALTER procedure [C6Mart].[PL_D_S153PatrimonioFinanziario] -- -- Add the parameters for the stored procedure here -- @Rete char(1), -- @CodiceFiscale varchar(16) --AS --BEGIN -- -- SET NOCOUNT ON added to prevent extra result sets from -- DECLARE @NOMERETE VARCHAR(20) -- IF @Rete = 'F' -- SET @NOMERETE = 'Banca Fideuram' -- ELSE -- SET @NOMERETE = 'Sanpaolo Invest' -- SELECT -- Intermediario, -- Ordine, -- Banca, -- Controvalore, -- round(Percentuale,2) as Percentuale -- FROM -- ( -- SELECT DISTINCT -- Intermediario, -- Ordine, -- @NOMERETE AS Banca, -- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv -- 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 -- @NOMERETE AS Intermediario, -- SUM(ROUND(CTV,2)) AS ctv, -- 1 AS ordine -- FROM C6MART.PATRIMONIO_BF patrBF ---- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo ---- ON PATRBF.RETE = CCNegativo.Rete ---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale ---- AND PATRBF.TIPO_PRODOTTO = 'CC' -- WHERE 1 = 1 -- AND patrBF.Rete = @Rete -- AND patrBF.Cod_Fiscale = @CodiceFiscale -- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO -- and patrBF.id_area <> 'cc' -- UNION ALL -- SELECT -- Intermediario, -- SUM(ROUND(CTV,2)) AS ctv, -- 2 AS ordine -- FROM C6MART.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