2017-07-14 100 views
0

我這個查詢工作正常。我需要有「piedini」這一欄的總和。你能幫我解決怎麼做嗎?我爲查詢找到的每個「Lunghezza」(長度)獲取X行。我對這個領域不感興趣,但只對從CASE SUM創建的sum o列「piedini」感興趣。案例陳述彙總結果

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 

回答

1

嘗試以下:

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