88 lines
3.2 KiB
Transact-SQL
88 lines
3.2 KiB
Transact-SQL
-- Stored procedure
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
--[C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio] 'F','BCHRRT54L12G999R'
|
|
CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio]
|
|
@Rete char(1),
|
|
@CodiceFiscale varchar(16)
|
|
AS
|
|
BEGIN
|
|
DECLARE @PatrimonioBF DECIMAL(15,2)
|
|
DECLARE @PatrimonioTerzi DECIMAL(15,2)
|
|
DECLARE @PatrimonioImmobiliare DECIMAL(15,2)
|
|
DECLARE @CCBF DECIMAL(15,2)
|
|
DECLARE @PatrimonioAltro DECIMAL(15,2)
|
|
DECLARE @PatrimonioTotale DECIMAL(15,2)
|
|
DECLARE @Part_viaggianti decimal(15,2)
|
|
SELECT
|
|
@PatrimonioBF = SUM(CTV)
|
|
FROM
|
|
C6MartPeriodicoImmobiliare.PATRIMONIO_BF patrBF
|
|
WHERE
|
|
patrBF.Rete = @Rete
|
|
AND patrBF.Cod_Fiscale = @CodiceFiscale
|
|
AND patrBF.id_area <> 'CC' --escludo il cc negativo
|
|
-- SELECT @Part_viaggianti=SUM(IMPORTO)
|
|
-- FROM C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia
|
|
-- WHERE
|
|
-- partvia.Rete = @Rete
|
|
-- and partvia.Cod_Fiscale = @CodiceFiscale
|
|
SELECT @Part_viaggianti=SUM(IMPORTO)
|
|
from
|
|
(
|
|
SELECT SUM(IMPORTO) AS IMPORTO
|
|
FROM C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia
|
|
WHERE
|
|
partvia.Rete = @Rete
|
|
and partvia.Cod_Fiscale = @CodiceFiscale
|
|
union
|
|
SELECT SUM(PARTVIA_DISINV) AS IMPORTO
|
|
FROM C6MartPeriodicoImmobiliare.patrimonio_bf partvia
|
|
WHERE
|
|
partvia.Rete = @Rete
|
|
and partvia.Cod_Fiscale = @CodiceFiscale
|
|
) H
|
|
SELECT
|
|
@PatrimonioTerzi = SUM(ROUND(CTV,2))
|
|
FROM
|
|
C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI patrTerzi
|
|
WHERE
|
|
patrTerzi.Rete = @Rete
|
|
and patrTerzi.Cod_Fiscale = @CodiceFiscale
|
|
SELECT
|
|
@PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO)
|
|
FROM
|
|
C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE patrImm
|
|
WHERE
|
|
patrImm.Rete = @Rete
|
|
and patrImm.Cod_Fiscale = @CodiceFiscale
|
|
SELECT
|
|
@PatrimonioAltro = SUM(patrAltro.ctv)
|
|
FROM
|
|
C6MartPeriodicoImmobiliare.PATRIMONIO_ALTRO patrAltro
|
|
WHERE
|
|
patrAltro.Rete = @Rete
|
|
AND patrAltro.Cod_Fiscale = @CodiceFiscale
|
|
declare @summa as decimal(15,2)
|
|
SET @Part_viaggianti=coalesce(@Part_viaggianti,0)
|
|
SET @PatrimonioBF =coalesce(@PatrimonioBF,0)
|
|
SET @summa = @PatrimonioBF + @Part_viaggianti
|
|
SET @PatrimonioBF=@summa
|
|
SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0)
|
|
SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0)
|
|
SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0)
|
|
SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0)
|
|
SELECT
|
|
@PatrimonioBF AS BFCTV,
|
|
@PatrimonioTerzi AS PatrimonioTerziCTV,
|
|
@PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV,
|
|
CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc,
|
|
@PatrimonioImmobiliare AS ImmobiliareCTV,
|
|
CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc,
|
|
@PatrimonioAltro AS AltroCTV,
|
|
CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc,
|
|
@PatrimonioTotale AS TotaleCTV
|
|
END |