--[c6mart].[PL_MP_S147SintesiValute] 'F','DCSCRJ80H24Z602C' CREATE procedure [C6Mart].[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 c6mart.ANAG_PRODOTTI_VALUTE a RIGHT JOIN c6mart.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 c6mart.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, divisa, @copertura as copertura FROM c6mart.ANAG_PRODOTTI_VALUTE a join c6mart.patrimonio_bf c ON a.cod_prodotto = c.cod_prodotto where cod_fiscale = @CodiceFiscale and rete = @Rete group by divisa order by valoreAssoluto desc end