[firebase-br] Erro no select
Eduardo Bahiense
eduardo em icontroller.com.br
Qui Abr 19 22:49:54 -03 2007
Em FB 2.x isso deve dar certo (não testado)
SELECT
COALESCE(CR.VALOR_PARCELA-CRB.VALOR_RECEBIDO, CR.VALOR_PARCELA)
FROM
(SELECT
CR.VALOR_PARCELA, SUM(CRB.VALOR_RECEBIDO) AS VALOR_RECEBIDO
FROM
CONTAS_RECEBER CR
LEFT OUTER JOIN CONTAS_RECEBIDAS CRB ON
((CR.TIPO= CRB.TIPO) AND
(CR.DOCUMENTO = CRB.DOCUMENTO)
)
WHERE
(CR.COD_CLIENTE = 2)
GROUP BY 1
) CRB
Em 1.5x e 2.x isso deve funcionar (também não testado)
SELECT
COALESCE(CR.VALOR_PARCELA-
(SELECT
SUM(VALOR_RECEBIDO)
FROM
CONTAS_RECEBIDAS
WHERE
TIPO=CR.TIPO
AND DOCUMENTO=CR.DOCUMENTO
), CR.VALOR_PARCELA
FROM
CCONTAS_RECEBER CR
WHERE
CR.COD_CLIENTE=2
Abs, Eduardo
Forrest® escreveu:
> Tenho o seguinte select :
>
> SELECT COALESCE((CR.VALOR_PARCELA - SUM(CRB.VALOR_RECEBIDO)),
> CR.VALOR_PARCELA) AS VALOR_RECEBER
> FROM CONTAS_RECEBER CR LEFT OUTER JOIN CONTAS_RECEBIDAS CRB ON
> ((CR.TIPO = CRB.TIPO ) AND
>
> (CR.DOCUMENTO = CRB.DOCUMENTO))
> WHERE (CR.COD_CLIENTE = 2)
>
> Tentei rodar ele e me retorna o erro :
>
> Invalid token.
> Dynamic SQL Error.
> SQL error code = -104.
> Invalid expression in the select list (not contained in either an
> aggregate function or the GROUP BY clause).
>
> Não preciso de nenhum campos apenas o retorno desse calculo, não tem
> como retornar sem discriminar os campos ou colocar campos para agregar?
> Já tentei colocar o Cod_Cliente no select e agrupar por ele mas também
> dá erro. Alguem sabe como resolver?
>
> T++++++++++++
>
Mais detalhes sobre a lista de discussão lista