64 lines
1.9 KiB
Transact-SQL
64 lines
1.9 KiB
Transact-SQL
-- [C6martPeriodico].PL_MP_S145DistibuzionePerTassoRendimento 'f','00164770307'
|
|
CREATE procedure [C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento]
|
|
@Rete char(1),
|
|
@CodiceFiscale varchar(16)
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
DECLARE @sumCTV Decimal(15,3) =
|
|
(SELECT isnull(sum(BF.ctv), 0.0)
|
|
FROM c6MartPeriodico.ANAG_PRODOTTI ANAG
|
|
INNER JOIN c6MartPeriodico.patrimonio_BF BF
|
|
ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO
|
|
AND BF.rete = @Rete
|
|
AND BF.cod_fiscale = @CodiceFiscale
|
|
and not ANAG.TIPO_TASSO is null
|
|
AND ANAG.FLG_OB='S' )
|
|
SELECT
|
|
ISNULL(ANAG.TIPO_TASSO,'') as TIPOTASSO,
|
|
ISNULL(sum(BF.ctv),0) as CONTROVALORE,
|
|
CASE
|
|
when ANAG.TIPO_TASSO is null then 0
|
|
else
|
|
-- FerAcu 20240803 errore divisione per zero
|
|
--ISNULL(sum(BF.ctv) / ((SELECT sum(BF.ctv)
|
|
-- FROM c6MartPeriodico.ANAG_PRODOTTI ANAG
|
|
-- INNER JOIN c6MartPeriodico.patrimonio_BF BF
|
|
-- ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO
|
|
-- AND BF.rete = @Rete
|
|
-- AND BF.cod_fiscale = @CodiceFiscale
|
|
-- and not ANAG.TIPO_TASSO is null
|
|
-- AND ANAG.FLG_OB='S')/100) ,0)
|
|
-- visto che il default in caso di NULL è 0, usiamo 0 anche per i casi x/0
|
|
CASE WHEN @sumCTV = 0.0 Then 0.000
|
|
ELSE isNull(sum(BF.ctv), 0.000) / (@sumCTV / 100)
|
|
END
|
|
END
|
|
AS Percentage,
|
|
CASE ANAG.TIPO_TASSO
|
|
WHEN 'Fisso' THEN 153
|
|
WHEN 'Variabile' THEN 207
|
|
WHEN 'Zero Coupon' THEN 193
|
|
ELSE 235
|
|
END AS Red,
|
|
CASE ANAG.TIPO_TASSO
|
|
WHEN 'Fisso' THEN 185
|
|
WHEN 'Variabile' THEN 220
|
|
WHEN 'Zero Coupon' THEN 174
|
|
ELSE 235
|
|
END AS Green,
|
|
CASE ANAG.TIPO_TASSO
|
|
WHEN 'Fisso' THEN 166
|
|
WHEN 'Variabile' THEN 210
|
|
WHEN 'Zero Coupon' THEN 149
|
|
ELSE 236
|
|
END AS Blue
|
|
FROM c6MartPeriodico.ANAG_PRODOTTI ANAG
|
|
INNER JOIN c6MartPeriodico.patrimonio_BF BF
|
|
ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO
|
|
AND BF.rete = @Rete
|
|
AND BF.cod_fiscale = @CodiceFiscale
|
|
AND ANAG.FLG_OB='S'
|
|
GROUP BY ANAG.TIPO_TASSO
|
|
ORDER BY TIPOTASSO
|
|
END |