Erro ao efetuar busca em Firebird.

01/08/2019

0

Boa tarde pessoal!
Estou sem saber como utilizar uma determinada query utilizando o Firebird e gostaria da ajuda de vocês.
Obrigado desde já.!

A query:
select
  e.codigo,
  avg(ci.valor_unitario) media_venda,
  sum(ci.qtde) total_qtde,
  sum(ci.valor_total) total_geral
from cupom_item ci inner join estoque e on e.codigo = ci.cod_produto
  group by ci.cod_produto, ci.valor_unitario
  order by ci.cod_produto


Esta mesma query sem o retorno
e.codigo
funciona. Quando requerido qualquer campo da tabela estoque me ocorre o erro:
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
Jorge Sampaio

Jorge Sampaio

Responder

Posts

01/08/2019

Jorge Sampaio

Bom pessoal, eu consegui resolver, não sei se da melhor forma, mas, foi o que consegui. Obrigado aí!

Pra ficar registrado, fiz da seguinte forma:
Acrescentei en GROUP BY um campo pertencente a tabela ESTOQUE. Acredito que nestes casos tem que haver a correspondência de todas as tabelas envolvidas na QUERY.

Falow!!
Responder

13/08/2019

Anderson Gonçalves

Bom pessoal, eu consegui resolver, não sei se da melhor forma, mas, foi o que consegui. Obrigado aí!

Pra ficar registrado, fiz da seguinte forma:
Acrescentei en GROUP BY um campo pertencente a tabela ESTOQUE. Acredito que nestes casos tem que haver a correspondência de todas as tabelas envolvidas na QUERY.

Falow!!


Eu ia comentar que todos os campos da select deveriam estar no seu GROUP BY para não dar problema, sinceramente não sei como ele funcionava parcialmente, rsrsrs, abraço.


select
e.codigo, [ESSE CIDADÃO AQUI]
avg(ci.valor_unitario) media_venda,
sum(ci.qtde) total_qtde,
sum(ci.valor_total) total_geral
from cupom_item ci inner join estoque e on e.codigo = ci.cod_produto
group by ci.cod_produto, ci.valor_unitario, e.codigo [TEM QUE ESTAR AQUI TAMBÉM].
order by ci.cod_produto
Responder

13/08/2019

Jorge Sampaio

Boa noite!
Pois então "
Anderson Gonçalves
", foi justamente este capo no qual você sitou que fiz a correspondência no GROUP e deu certo. Nunca tinha trabalhado com o FIREBIRD e, vez ou outra, acabo batendo cabeça pra desenvolver QUERYS mais elaboradas.
Valeu aí!!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar