Sentença Sql com erro e não consigo ver o erro
Montei uma senteça sql usando select case como está abaixo:
SELECT V.CODCLI, CASE WHEN (V.VALCOR IS NOT NULL) THEN (SUM(V.VALCOR))
WHEN (V.VALCOR IS NULL) THEN (SUM(V.VALTOT))
END AS SALDO_DEVEDOR
FROM VENDAS V
WHERE V.CODCLI = :pCli AND DATPAG IS NULL
GROUP BY V.CODCLI;
E mesmo informando o Parametro ela me da o seguinte erro:
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
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)
Statement: SELECT V.CODCLI, CASE WHEN (V.VALCOR IS NOT NULL) THEN (SUM(V.VALCOR))
WHEN (V.VALCOR IS NULL) THEN (SUM(V.VALTOT))
END AS SALDO_DEVEDOR
FROM VENDAS V
WHERE V.CODCLI = :pCli AND DATPAG IS NULL
GROUP BY V.CODCLI
Por favor se alguem puder me ajudar ficarei muito grato
Atenciosamente,
Tadeu
SELECT V.CODCLI, CASE WHEN (V.VALCOR IS NOT NULL) THEN (SUM(V.VALCOR))
WHEN (V.VALCOR IS NULL) THEN (SUM(V.VALTOT))
END AS SALDO_DEVEDOR
FROM VENDAS V
WHERE V.CODCLI = :pCli AND DATPAG IS NULL
GROUP BY V.CODCLI;
E mesmo informando o Parametro ela me da o seguinte erro:
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
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)
Statement: SELECT V.CODCLI, CASE WHEN (V.VALCOR IS NOT NULL) THEN (SUM(V.VALCOR))
WHEN (V.VALCOR IS NULL) THEN (SUM(V.VALTOT))
END AS SALDO_DEVEDOR
FROM VENDAS V
WHERE V.CODCLI = :pCli AND DATPAG IS NULL
GROUP BY V.CODCLI
Por favor se alguem puder me ajudar ficarei muito grato
Atenciosamente,
Tadeu
Numeros.info
Curtidas 0
Respostas
Emerson Nascimento
26/03/2005
se estiver utilizando o FB 1.5, tente assim:
SELECT V.CODCLI, SUM(COALESCE(V.VALCOR,V.VALTOT,0)) SALDO_DEVEDOR
FROM VENDAS V
WHERE V.CODCLI = :pCli AND DATPAG IS NULL
GROUP BY V.CODCLI
SELECT V.CODCLI, SUM(COALESCE(V.VALCOR,V.VALTOT,0)) SALDO_DEVEDOR
FROM VENDAS V
WHERE V.CODCLI = :pCli AND DATPAG IS NULL
GROUP BY V.CODCLI
GOSTEI 0