PDC_REPORT_CreazioneDB/sql/Collaudo/procedure/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql
2025-06-10 15:29:00 +02:00

50 lines
1.4 KiB
SQL

-- [C6martPeriodico].PL_MP_S145DistibuzionePerTassoRendimento 'f','00164770307'
CREATE procedure [C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento]
@Rete char(1),
@CodiceFiscale varchar(16)
AS
BEGIN
SET NOCOUNT ON;
SELECT
ISNULL(ANAG.TIPO_TASSO,'') as TIPOTASSO,
ISNULL(sum(BF.ctv),0) as CONTROVALORE,
CASE
when ANAG.TIPO_TASSO is null then 0
else
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)
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