SELECT *, SommaFatturato + SommaTrasferimenti + SommaOrdini + SommaRDAdef + SommaRDAprov + 0 AS Totale FROM (
SELECT
SUM (DISTINCT SBI_TA_TESMOV.FatturaId (CASE WHEN FGSPORT_TA_TESTATA_ORDINI_ACQ.Tipologia = 'O' AND SBI_TA_TESMOV.ImportoFattura > 0 THEN SBI_TA_TESMOV.ImportoFattura END) ) AS SommaFatturato ,
SUM (CASE WHEN SBI_TA_TESMOV.ImportoFattura Is Null AND FGSPORT_TA_TESTATA_ORDINI_ACQ.Tipologia = 'M' AND month(FGSPORT_TA_RIGHE_ORDINI_ACQ.DataConsegna) <= (datepart (month,GETDATE())) THEN FGSPORT_TA_RIGHE_ORDINI_ACQ.TotRigaEuro ELSE 0 END) AS SommaTrasferimenti,
SUM (CASE WHEN SBI_TA_TESMOV.ImportoFattura Is Null AND FGSPORT_TA_TESTATA_ORDINI_ACQ.Tipologia = 'O' AND month(FGSPORT_TA_RIGHE_ORDINI_ACQ.DataConsegna) <= (datepart (month,GETDATE())) THEN FGSPORT_TA_RIGHE_ORDINI_ACQ.TotRigaEuro ELSE 0 END) AS SommaOrdini,
SUM (CASE WHEN SBI_TA_TESMOV.ImportoFattura Is Null AND FGSPORT_TA_TESTATA_ORDINI_ACQ.Tipologia = 'R' AND FGSPORT_TA_TESTATA_ORDINI_ACQ.IsDefinitivo = '1' AND month(FGSPORT_TA_RIGHE_ORDINI_ACQ.DataConsegna) <= (datepart (month,GETDATE())) THEN FGSPORT_TA_RIGHE_ORDINI_ACQ.TotRigaEuro ELSE 0 END) AS SommaRDAdef,
SUM (CASE WHEN FGSPORT_TA_TESTATA_ORDINI_ACQ.IsDefinitivo = '0' THEN FGSPORT_TA_RIGHE_ORDINI_ACQ.TotRigaEuro ELSE 0 END) AS SommaRDAprov,
FGSPORT_TA_PROGRAMMI.DescrProgramma,
FGSPORT_TA_VOCI.DescrizioneVoce,
FGSPORT_TA_TESTATA_ORDINI_ACQ.AnnoBudget
FROM FGSPORT_TA_RIGHE_ORDINI_ACQ
INNER JOIN FGSPORT_TA_TESTATA_ORDINI_ACQ ON FGSPORT_TA_TESTATA_ORDINI_ACQ.OrdineId = FGSPORT_TA_RIGHE_ORDINI_ACQ.OrdineId
INNER JOIN FGSPORT_TA_PROGRAMMI ON FGSPORT_TA_PROGRAMMI.ProgrammaId = FGSPORT_TA_RIGHE_ORDINI_ACQ.ProgrammaId
INNER JOIN FGSPORT_TA_VOCI ON FGSPORT_TA_RIGHE_ORDINI_ACQ.VoceId = FGSPORT_TA_VOCI.VoceId
LEFT OUTER JOIN SBI_TA_NEWMOV ON FGSPORT_TA_RIGHE_ORDINI_ACQ.RigaOrdineId = SBI_TA_NEWMOV.RigaOrdineId
LEFT OUTER JOIN SBI_TA_TESMOV ON SBI_TA_TESMOV.RicevimentoMerceId = SBI_TA_NEWMOV.RicevimentoMerceId
GROUP BY FGSPORT_TA_PROGRAMMI.DescrProgramma, FGSPORT_TA_VOCI.DescrizioneVoce, FGSPORT_TA_TESTATA_ORDINI_ACQ.AnnoBudget
) AS a;