如何避免“无法在包含聚合或子查询的表达式上执行聚合函数”错误

时间:2019-02-08 14:07:26

标签: sql-server-2008

我正在运行此查询:

SELECT DISTINCT
    SUM(CASE WHEN b.CODNAT IN (SELECT item 
                               FROM fnMAS_Parametro_para_Lista('CON_SPED_FISCAL_CFOPS_BLOCO_C_FORA')) 
                THEN 0 EKSE ROUND(ISNULL(10, 0), 2) 
        END)
FROM
    ##tmpARPCO a
INNER JOIN
    ARPCO_ITENS_TOTALIZADORES b ON (b.numped = a.numped 
                                    AND b.seqped = a.seqped 
                                    AND b.tipo = 'P')
INNER JOIN
    ArEmpresa c ON (c.codempresa = a.codempresa)
INNER JOIN 
    ArNat d ON (d.codnat = b.codnat)
WHERE 
    1=1                       
    AND a.ESPEC IN ('NFE', 'NF', 'NFCE', 'NFA', 'NFFA', 'NFSE')  
    AND a.MODNF IN ('01', '1B', '04', '55', '65')                     
    AND a.datentr BETWEEN '20180401' AND '20180430' 
GROUP BY
    a.codcad, a.numnf, a.datentr, b.sittrib

但是我收到以下消息:

  

无法对包含聚合或子查询的表达式执行聚合功能

您可以看到的函数仅从表中返回一个代码字符串列表。如何解决该问题?

非常感谢您的帮助和时间

亚历山大(Alexandre)

0 个答案:

没有答案