96 lines
2.3 KiB
SQL
96 lines
2.3 KiB
SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: PL_MP_S142DistibuzionePerRating
|
|
|
|
|
|
|
|
-- [C6martPeriodico].PL_MP_S142DistibuzionePerRating 'f','MSCLRT46H15A565B'
|
|
|
|
CREATE procedure [C6MartPeriodico].[PL_MP_S142DistibuzionePerRating]
|
|
@Rete char(1),
|
|
@CodiceFiscale varchar(16)
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
|
|
SELECT
|
|
RATING,
|
|
isnull(sum(T.CONTROVALORE),0) as CONTROVALORE ,
|
|
isnull(sum(T.CONTROVALORE) / ((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 ANAG.FLG_OB='S' )/100),0)
|
|
AS Percentage,
|
|
CASE RATING
|
|
WHEN 'Da AAA a A-' THEN 93
|
|
WHEN 'Da BBB+ a BBB-' THEN 171
|
|
WHEN 'Da BB+ a B-' THEN 174
|
|
WHEN 'Da CCC+ a D' THEN 193
|
|
ELSE 235
|
|
END AS Red,
|
|
CASE RATING
|
|
WHEN 'Da AAA a A-' THEN 138
|
|
WHEN 'Da BBB+ a BBB-' THEN 196
|
|
WHEN 'Da BB+ a B-' THEN 135
|
|
WHEN 'Da CCC+ a D' THEN 174
|
|
ELSE 235
|
|
END AS Green,
|
|
CASE RATING
|
|
WHEN 'Da AAA a A-' THEN 153
|
|
WHEN 'Da BBB+ a BBB-' THEN 150
|
|
WHEN 'Da BB+ a B-' THEN 88
|
|
WHEN 'Da CCC+ a D' THEN 149
|
|
ELSE 236
|
|
END AS Blue
|
|
FROM (
|
|
SELECT
|
|
CASE ANAG.rating
|
|
WHEN 'AAA' THEN 'Da AAA a A-'
|
|
WHEN 'AA+' THEN 'Da AAA a A-'
|
|
WHEN 'AA' THEN 'Da AAA a A-'
|
|
WHEN 'AA-' THEN 'Da AAA a A-'
|
|
WHEN 'A+' THEN 'Da AAA a A-'
|
|
WHEN 'A' THEN 'Da AAA a A-'
|
|
WHEN 'A-' THEN 'Da AAA a A-'
|
|
WHEN 'BBB+' THEN 'Da BBB+ a BBB-'
|
|
WHEN 'BBB' THEN 'Da BBB+ a BBB-'
|
|
WHEN 'BBB-' THEN 'Da BBB+ a BBB-'
|
|
WHEN 'BB+' THEN 'Da BB+ a B-'
|
|
WHEN 'BB' THEN 'Da BB+ a B-'
|
|
WHEN 'BB-' THEN 'Da BB+ a B-'
|
|
WHEN 'B+' THEN 'Da BB+ a B-'
|
|
WHEN 'B' THEN 'Da BB+ a B-'
|
|
WHEN 'B-' THEN 'Da BB+ a B-'
|
|
WHEN 'CCC+' THEN 'Da CCC+ a D'
|
|
WHEN 'CCC' THEN 'Da CCC+ a D'
|
|
WHEN 'CCC-' THEN 'Da CCC+ a D'
|
|
WHEN 'CC' THEN 'Da CCC+ a D'
|
|
WHEN 'C' THEN 'Da CCC+ a D'
|
|
WHEN 'D' THEN 'Da CCC+ a D'
|
|
ELSE 'Non classificato'
|
|
END AS RATING,
|
|
isnull(sum(BF.ctv),0) as CONTROVALORE
|
|
|
|
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.rating
|
|
) T
|
|
GROUP BY T.RATING
|
|
ORDER BY T.RATING
|
|
|
|
|
|
|
|
|
|
END
|
|
|
|
|
|
|
|
|