Fórum Agrupar [group by] Firebird #374318

31/08/2009

0

Pessoal bom dia.
Estou com uma dúvida para agrupar uns dados no firebird, e mostrar no quickreport.

Preciso agrupar as entradas ou saida [qtdeent] no estoque que tenham o mesmo código do produto [nprod], e tipos diferentes [entrada/saida], porém preciso que mostre no quickreport tb alguns dados dessa entrada ou saida tipo descrição do produto, data e anotações gerais.

A baixo o código para agrupar por código do produto, porém não mostra a descrição nem data nem anotações gerais.
select nprod, sum(qtdeent)as total, tipo
from PRODUTOSENT
group by nprod, tipo


Tentei fazer assim:
select nprod, sum(qtdeent)as total, tipo, descricao, data, anota
from PRODUTOSENT
group by nprod, tipo, descricao, data, anota

porém não agrupa como eu preciso, que é somente por código do produto.

Se puderem me ajudar agradeço.


Betofrasson

Betofrasson

Responder

Posts

31/08/2009

Facc

Experimente dessa forma

select nprod, sum(qtdeent)as total, tipo, MAX(descricao), MAX(data), MAX(anota)
from PRODUTOSENT
group by nprod, tipo


é uma programação Alternativa ( :D ), comigo sempre funcionou.


Responder

Gostei + 0

31/08/2009

Betofrasson

Valeu Facc.

Funcionou perfeitamente.
Bem isso mesmo. Valeu.


Responder

Gostei + 0

27/05/2016

Renato Freitas

Olá pessoal,


Como vocês conseguem agrupar os resultados de uma consulta com inner joins?

Grato pela atenção.
Responder

Gostei + 0

31/05/2016

Natanael Ferreira

O agrupamento (Group by) funciona da mesma maneira, sem e com inner join.

Exemplo com inner join:

SELECT estoque.nome, saida_estoque.coditem, saida_estoque.data, SUM(saida_estoque.qtde) FROM saida_estoque 
inner join estoque on (estoque.coditem = saida_estoque.coditem) 
GROUP BY estoque.nome, saida_estoque.coditem, saida_estoque.data
Responder

Gostei + 0

03/07/2017

Evaldo

Pessoal bom dia

Como eu faço para obter o count de uma tabela agrupada, preciso alimentar um gauge1
Exemplo: Em uma tabela MovProd teria os campos codigo,qtde e data

Codigo qtde data
1 1 03/07/2017
1 1 03/07/2017
2 1 03/07/2017
2 1 03/07/2017
3 1 03/07/2017

com esse select eu pego as informações
select codigo, sum(qtde) as qtde from movProd where data >= '03.07.2017' group by codP

Codigo qtde
1 2
2 2
3 1

Porém como ficaria o select para me retornar 3

O gauge1.MaxValue teria que receber 3

se alguém souber, obrigado
Responder

Gostei + 0

03/07/2017

Raimundo Pereira

GAUGE1.MAXVALUE:=QUERY.RECORDCOUNT;
Responder

Gostei + 0

03/07/2017

Raimundo Pereira

Lembrando que você deverá usar o query.recordcount na sua tabela que está realizando o sum
Responder

Gostei + 0

03/07/2017

Evaldo

Bom dia pessoal

Estou precisando de um select que me retorne o count de uma tabela agrupada para eu alimentar um gauge1

exemplo:
Tabela Movprod campos codigo,qtde e data

Codigo qtde data
1 1 03/07/2017
1 2 03/07/2017
2 1 03/07/2017
2 3 03/07/2017
3 1 03/07/2017

Em um select agrupado ficaria assim
select codigo, sum(qtde)as qtde from movProd where data ='03.07.2017'group by codigo

que me retornaria assim
Codigo qtde
1 3
2 4
3 1

Então preciso de um select que me retorna um count(codigo) agrupada para alimentar um gauge1
ficaria assim:
gauge1.MaxValue :=3;

se alguem souber
obrigado
Responder

Gostei + 0

03/07/2017

Raimundo Pereira

Evaldo boa tarde.
Viu minha resposta?

Veja o exemplo:Imagem do exemplo
Responder

Gostei + 0

03/07/2017

Evaldo

Nossa, obrigado deu certinho
Responder

Gostei + 0

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

Aceitar