161 lines
3.8 KiB
Transact-SQL
161 lines
3.8 KiB
Transact-SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: PL_S6PatrimonioFinanziario
|
|
|
|
|
|
-- Stored procedure
|
|
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
-- [C6MartPeriodico].[PL_S6PatrimonioFinanziario] 'F','GZZSLD52E20G869L'
|
|
CREATE procedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario]
|
|
-- 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 = '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 C6MartPeriodico.PATRIMONIO_BF patrBF
|
|
-- LEFT JOIN C6MartPeriodico.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 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_S6PatrimonioFinanziario] Script Date: 10/02/2022 15:58:38 ******/
|
|
--SET ANSI_NULLS ON
|
|
--GO
|
|
--SET QUOTED_IDENTIFIER ON
|
|
--GO
|
|
|
|
---- Stored procedure
|
|
|
|
---- =============================================
|
|
---- Author: <Author,,Name>
|
|
---- Create date: <Create Date,,>
|
|
---- Description: <Description,,>
|
|
---- =============================================
|
|
---- [C6MartPeriodico].[PL_S6PatrimonioFinanziario] 'F','GZZSLD52E20G869L'
|
|
--ALTER procedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario]
|
|
-- -- 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 = '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 C6MartPeriodico.PATRIMONIO_BF patrBF
|
|
---- LEFT JOIN C6MartPeriodico.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
|
|
|