Prezado Saul.

Quando utiliza-se funções de agregação (tipo SUM), os demais campos devem
estar agrupados.
Isto significa que sua consulta deve ficar mais ou menos assim:

SELECT "pagamentos"."MesRef", "pagamentos"."AnoRef", SUM( "planos"."Valor" )
FROM "pagamentos", "planos" WHERE "pagamentos"."MesRef" = :Mês AND
"pagamentos"."AnoRef" = :Ano
GROUP BY "pagamentos"."MesRef", "pagamentos"."AnoRef"

Atenciosamente.

Inácio




Em 27/04/08, Saul Lima <[EMAIL PROTECTED]> escreveu:
>
> Estou desenvolvendo um BD para uma empresa aqui da minha cidade e preciso
> que uma consulta retorne a soma dos valores de mensalidade recebidos. Mas
> ao
> selecionar a função soma na criação da consulta, a mesma exibe o seguinte
> erro ao ser executada:
>
> Status SQL: 37000
> Código de erro: -67
>
> Not in aggregate function or group by clause:
> [EMAIL PROTECTED] statement [SELECT
> "pagamentos"."MesRef", "pagamentos"."AnoRef", SUM(
> "planos"."Valor" ) FROM "pagamentos", "planos" WHERE "pagamentos"."MesRef"
> =
> :Mês AND "pagamentos"."AnoRef" = :Ano]
>
> Em informações do erro aparece o seguinte:
>
> O comando SQL que causou o erro foi:
>
> SELECT "pagamentos"."MesRef", "pagamentos"."AnoRef", SUM( "planos"."Valor"
> )
> FROM "pagamentos", "planos" WHERE "pagamentos"."MesRef" = :Mês AND
> "pagamentos"."AnoRef" = :Ano
>
> Como devo fazer para a consulta retornar a soma dos valores de mensalidade
> pagos?
>

Responder a