--[C6MartPeriodico].[PL_MP_FD147SintesiValute] 'F','PLKHNJ76R09H514E' CREATE procedure [C6MartPeriodico].[PL_MP_FD147SintesiValute] @Rete char(1), @CodiceFiscale varchar(16) as begin declare @ctvNoCoperto as decimal(18,3) declare @ctvCoperto as decimal(18,3) declare @copertura as decimal(18,3) SELECT @ctvNoCoperto = isnull(sum(ctv),0) FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a RIGHT JOIN c6martperiodico.patrimonio_bf c ON a.cod_prodotto = c.cod_prodotto WHERE cod_fiscale = @CodiceFiscale and rete = @Rete and a.cod_prodotto is null and id_area <> 'Cc' select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto from c6martperiodico.vPatrimonioBfAggregato where cod_fiscale = @CodiceFiscale and rete = @Rete --select @copertura --FC 16/04/20104 --Inserito controllo per evitare problemi di divid by zero nella select successiva IF @ctvCoperto < 1 begin set @ctvCoperto =1 End SELECT sum(peso*ctv) / @ctvCoperto as percentuale, abs(sum(peso*ctv)) as valoreAssoluto, a.Divisa, @copertura as copertura FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a join c6martperiodico.patrimonio_bf c ON a.cod_prodotto = c.cod_prodotto where cod_fiscale = @CodiceFiscale and rete = @Rete group by a.Divisa order by valoreAssoluto desc end