-- Schema: C6Mart -- Stored Procedure: PL_D2_S168TabellaEmittenti -- ============================================= -- Author: -- Create date: <25052010> -- Description: < SEZIONE 103> -- ============================================= --EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' CREATE procedure [C6Mart].[PL_D2_S168TabellaEmittenti] -- 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 -- interfering with SELECT statements. SET NOCOUNT ON; declare @patr_compl decimal(18,3) select @patr_compl=sum(ctv_prodotto) from C6Mart.patrimonio_emittenti where cod_fiscale =@codicefiscale and rete=@rete and ctv_prodotto > 0 SELECT COD_FISCALE, RETE, RATING_AAA, RATING_AAp, RATING_AA, RATING_AAm, RATING_Ap, RATING_A, RATING_Am, RATING_BBBp, RATING_BBB, RATING_BBBm, RATING_BBp, RATING_BB, RATING_BBm, RATING_Bp, RATING_B, RATING_Bm, RATING_CCCp, RATING_CCC, RATING_CCCm, RATING_CC, RATING_C, RATING_D, RATING_na, FLG_RISKCLASS1, FLG_RISKCLASS2, FLG_RISKCLASS3, FLG_RISKCLASS4, FLG_RISKCLASS5, FLG_RISKCLASS6, FLG_RISKCLASS7, FLG_RISKCLASS8, FLG_RISKCLASS9, FLG_RISKCLASS10, INTERMEDIARIO, ISSUER, STOCKSCounterValue, bondsCounterValue, CONCENTRATION_ISSUER, CONCENTRATION, NC --isnull(RATING,'n.a.') as RATING FROM ( -- PER INTERMEDIARIO SELECT COD_FISCALE, RETE, MAX(RATING_AAA) AS RATING_AAA, MAX(RATING_AAp) AS RATING_AAp, MAX(RATING_AA) AS RATING_AA, MAX(RATING_AAm) AS RATING_AAm, MAX(RATING_Ap) AS RATING_Ap, MAX(RATING_A) AS RATING_A, MAX(RATING_Am) AS RATING_Am, MAX(RATING_BBBp) AS RATING_BBBp, MAX(RATING_BBB) AS RATING_BBB, MAX(RATING_BBBm) AS RATING_BBBm, MAX(RATING_BBp) AS RATING_BBp, MAX(RATING_BB) AS RATING_BB, MAX(RATING_BBm) AS RATING_BBm, MAX(RATING_Bp) AS RATING_Bp, MAX(RATING_B) AS RATING_B, MAX(RATING_Bm) AS RATING_Bm, MAX(RATING_CCCp) AS RATING_CCCp, MAX(RATING_CCC) AS RATING_CCC, MAX(RATING_CCCm) AS RATING_CCCm, MAX(RATING_CC) AS RATING_CC, MAX(RATING_C) AS RATING_C, MAX(RATING_D) AS RATING_D, MAX(RATING_na) AS RATING_na, MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, --V nel caso sia null è BF??? isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, EMITTENTE AS ISSUER, SUM(STOCKSCounterValue) AS STOCKSCounterValue, sum(bondsCounterValue) AS bondsCounterValue, 0 as CONCENTRATION_ISSUER , --V normalizzo la percentuale per essere rappresentato sul report MAX(CONCENTRATION)* 100 AS CONCENTRATION, sum(case when copertura > 0 then 0 else 1 end) as nc --RATING as RATING FROM ( SELECT V.COD_FISCALE, V.RETE, INTERMEDIARIO, CREDITRISKCLASS, EMITTENTE, CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm,