PDC_REPORT_CreazioneDB/sql/storedProduzione/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql
2025-06-06 19:02:52 +02:00

70 lines
2.2 KiB
Transact-SQL

-- [C6martPeriodico].PL_MP_S143DistibuzionePerEmittente 'f','SLBBRT27A42Z127N'
CREATE procedure [C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente] --'F','SRGFRC62H07C933N'
@Rete char(1),
@CodiceFiscale varchar(16)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @sumCTV Decimal(15,3) =
(SELECT isnull(sum(BF.ctv), 0.0)
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 NOT ANAG.TIPO_EMITTENTE is null
AND ANAG.FLG_OB='S')
-- Fc17/12/2013 Ridistribuita la percentuale
SELECT
isnull(ANAG.TIPO_EMITTENTE,'Altro') as TIPOEMITTENTE,
isnull(sum(BF.ctv),0) as CONTROVALORE,
CASE
when ANAG.TIPO_EMITTENTE is null then 0
else
-- FerAcu 20240803 errore divisione per zero
--isnull(sum(BF.ctv) / ((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 NOT ANAG.TIPO_EMITTENTE is null
-- AND ANAG.FLG_OB='S')/100),0)
CASE WHEN @sumCTV = 0.0 Then 0.000
ELSE isNull(sum(BF.ctv), 0.000) / (@sumCTV / 100)
END
End
AS Percentage,
CASE ANAG.TIPO_EMITTENTE
WHEN 'Agency' THEN 93
WHEN 'Governativo' THEN 123
WHEN 'Emergente' THEN 200
WHEN 'Sovranazionale' THEN 221
WHEN 'Corporate' THEN 255
ELSE 235
END AS Red,
CASE ANAG.TIPO_EMITTENTE
WHEN 'Agency' THEN 132
WHEN 'Governativo' THEN 168
WHEN 'Emergente' THEN 126
WHEN 'Sovranazionale' THEN 192
WHEN 'Corporate' THEN 245
ELSE 235
END AS Green,
CASE ANAG.TIPO_EMITTENTE
WHEN 'Agency' THEN 111
WHEN 'Governativo' THEN 145
WHEN 'Emergente' THEN 99
WHEN 'Sovranazionale' THEN 115
WHEN 'Corporate' THEN 210
ELSE 236
END AS Blue
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.TIPO_EMITTENTE
ORDER BY TIPOEMITTENTE
END