BigBlack
BigBlack

Reputation: 163

SUM RESULTS OF CASE STATEMENTS

I've this query working fine. I need to have the sum of the column "piedini". Can you help me to undestand how to do? I obtain X row for each "Lunghezza" (lenght) that the query find. I'm not interested to this field but only to the sum o column "piedini" created from the CASE SUM.

SELECT
EXTRAMAG.PRS_LUNGHEZZA,SUM(RIGHEDOCUMENTI.QTAGEST) AS TAVOLI, CASE WHEN EXTRAMAG.PRS_LUNGHEZZA < '2000' THEN SUM(RIGHEDOCUMENTI.QTAGEST)*4 ELSE SUM(RIGHEDOCUMENTI.QTAGEST)*6 END AS PIEDINI
FROM dbo.TESTEDOCUMENTI 
INNER JOIN  dbo.ANAGRAFICACF
ON CODCLIFOR=CODCONTO
INNER JOIN  dbo.RIGHEDOCUMENTI
ON PROGRESSIVO=IDTESTA AND TOTNETTORIGA <>'0' AND RIGHEDOCUMENTI.DESCRIZIONEART LIKE '%TAVOL%' 
INNER JOIN  dbo.EXTRAMAG
ON RIGHEDOCUMENTI.CODART=EXTRAMAG.CODART
LEFT JOIN  .dbo.ANAGRAFICAAGENTI
ON CODAGENTE=CODAGENTE1
LEFT JOIN  dbo.TABPAGAMENTI
ON CODPAGAMENTO = CODICE
WHERE  dbo.TESTEDOCUMENTI.DOCCHIUSO = '0' AND  dbo.TESTEDOCUMENTI.BLOCCATO = '0' AND dbo.TESTEDOCUMENTI.TIPODOC = 'ORC' AND TESTEDOCUMENTI.DATACONSEGNA BETWEEN  DATEADD(DAY, -60, GETDATE()) AND GETDATE() 
GROUP BY EXTRAMAG.PRS_LUNGHEZZA 

Upvotes: 0

Views: 45

Answers (1)

Eid Morsy
Eid Morsy

Reputation: 966

Try the below :

select sum(PIEDINI) from (

    SELECT XTRAMAG.PRS_LUNGHEZZA,SUM(RIGHEDOCUMENTI.QTAGEST) AS TAVOLI, CASE WHEN EXTRAMAG.PRS_LUNGHEZZA < '2000' THEN SUM(RIGHEDOCUMENTI.QTAGEST)*4 ELSE SUM(RIGHEDOCUMENTI.QTAGEST)*6 END AS PIEDINI
    FROM dbo.TESTEDOCUMENTI 
    INNER JOIN  dbo.ANAGRAFICACF
    ON CODCLIFOR=CODCONTO
    INNER JOIN  dbo.RIGHEDOCUMENTI
    ON PROGRESSIVO=IDTESTA AND TOTNETTORIGA <>'0' AND RIGHEDOCUMENTI.DESCRIZIONEART LIKE '%TAVOL%' 
    INNER JOIN  dbo.EXTRAMAG
    ON RIGHEDOCUMENTI.CODART=EXTRAMAG.CODART
    LEFT JOIN  .dbo.ANAGRAFICAAGENTI
    ON CODAGENTE=CODAGENTE1
    LEFT JOIN  dbo.TABPAGAMENTI
    ON CODPAGAMENTO = CODICE
    WHERE  dbo.TESTEDOCUMENTI.DOCCHIUSO = '0' AND  dbo.TESTEDOCUMENTI.BLOCCATO = '0' AND dbo.TESTEDOCUMENTI.TIPODOC = 'ORC' AND TESTEDOCUMENTI.DATACONSEGNA BETWEEN  DATEADD(DAY, -60, GETDATE()) AND GETDATE() 
    GROUP BY EXTRAMAG.PRS_LUNGHEZZA 


 )t

Upvotes: 1

Related Questions