quinta-feira, 13 de dezembro de 2012

Cannot perform an aggregate function on an expression containing an aggregate or a subquery.

Hoje me deparei com este problema, pois estava tentando utilizar uma função SUM para somar uma expressão que possuía outra função SUM, por exemplo:

SELECT SUM(POWER(SUM(B.NOTAOBTIDA) - 9, 2)) AS NOTAOBTIDA
FROM OPCAOINSCRITO S (NOLOCK), HISTORICO B (NOLOCK)
WHERE S.CODPESSOA = B.CODPESSOA 


SOLUÇÃO, usei tabela derivada:

SELECT SUM(NOTAOBTIDA) AS DI
FROM (SELECT POWER(SUM(B.NOTAOBTIDA) - 9, 2) AS NOTAOBTIDA
FROM OPCAOINSCRITO S (NOLOCK), HISTORICO B (NOLOCK)
WHERE S.CODPESSOA = B.CODPESSOA 
GROUP BY S.CODPESSOA
 ) AS SUB

Agora sim!!!! eu consigo somar as somas da subquery \O/\O/\O/\O/\O/\O/\O/\O/\O/


Nenhum comentário:

Postar um comentário