案件陈述的结果

时间:2017-07-14 22:19:51

标签: sql-server-2005 sum case

我的查询工作正常。我需要列#14; piedini"的总和。你能帮我解决怎么办吗?我为每个" Lunghezza"获得了X行。 (lenght)查询查找。我对这个领域并不感兴趣,只对#o; piedini"和#34; piedini"从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 

1 个答案:

答案 0 :(得分: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