[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