Duvida com SQL
Estou com esse SQL
Esse SQL acima pega perfeitamente.
Mas quando adiciono outro campo ´cliente.nome_cli´ da erro. SQL:
Da esse erro:
Que faço?
Já coloquei o group by 1 ou group by id_cliente_fk e fica dando esse erro. Só não da erro quando só coloco o campo que vou agregar.
Alguem sabe?
select id_cliente_fk, sum((case when CHEQUE_PAGO = ´NÃO´ then VALOR else 0 end)) Valor from CHEQUES where ID_CLIENTE_FK= :ID_CLIENTE_FK group by id_cliente_fk
Esse SQL acima pega perfeitamente.
Mas quando adiciono outro campo ´cliente.nome_cli´ da erro. SQL:
select id_cliente_fk, cliente.nome_cli, sum((case when CHEQUE_PAGO = ´NÃO´ then VALOR else 0 end)) Valor from CHEQUES inner join cliente on cheques.id_cliente_fk = cliente.id_cliente where ID_CLIENTE_FK= :ID_CLIENTE_FK group by id_cliente_fk
Da esse erro:
--------------------------- Debugger Exception Notification --------------------------- Project SisFactory.exe raised exception class EUIBError with 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) Invalid token Error Code: 249´. Process stopped. Use Step or Run to continue. --------------------------- OK Help
Que faço?
Já coloquei o group by 1 ou group by id_cliente_fk e fica dando esse erro. Só não da erro quando só coloco o campo que vou agregar.
Alguem sabe?
Jpauloss
Curtidas 0
Respostas
Emerson Nascimento
29/11/2007
todos os campos selecionados e não agregados (usados em fórmulas) devem ser colocados no agrupamento.
select id_cliente_fk, cliente.nome_cli, sum((case when CHEQUE_PAGO = ´NÃO´ then VALOR else 0 end)) Valor from CHEQUES inner join cliente on cheques.id_cliente_fk = cliente.id_cliente where ID_CLIENTE_FK= :ID_CLIENTE_FK group by id_cliente_fk, cliente.nome_cli
GOSTEI 0