2017-07-14 20 views
0

私はこのクエリを正常に動作しています。私は列 "piedini"の合計を持つ必要があります。あなたは私にundestandする方法を助けることができますか?私は、クエリが見つける "Lunghezza"(長さ)ごとにX行を取得します。私はこのフィールドに興味はありませんが、CASE SUMから作成された合計値 "piedini"列にのみ関心があります。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 

答えて

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 
関連する問題