72 lines
1.4 KiB
Transact-SQL
72 lines
1.4 KiB
Transact-SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: PL_MP_S147SintesiValute
|
|
|
|
|
|
|
|
|
|
|
|
--[C6martPeriodico].[PL_MP_S147SintesiValute] 'F','DCSCRJ80H24Z602C'
|
|
CREATE procedure [C6MartPeriodico].[PL_MP_S147SintesiValute]
|
|
|
|
@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
|
|
|
|
|
|
|
|
|