[firebase-br] Select agrupando
Ricardo Mauro
rm_kylix em yahoo.com.br
Sex Jul 1 09:18:59 -03 2005
Voce tem que incluir todos os campos pertencentes na instrucao "select" na
clausula Group By, fora
o campo da funcao de agregacao...
Ricardo Mauro
----- Original Message -----
From: "Fernando Machado" <fm-sistemas em fm-sistemas.com>
To: "Andrei Luís" <compuvale.software em gmail.com>; "FireBase"
<lista em firebase.com.br>
Sent: Friday, July 01, 2005 9:02 AM
Subject: Re: [firebase-br] Select agrupando
Sempre que eu faço dessa forma como eu costumo ver aqui na lista:
>select codigo_cliente, (ele não aceita nomear um campo e fica pedindo
>todos os nomes dos campos), porém mesmo fazendo isso aconteceu o seguinte:
form1.pedidos.Close;
form1.pedidos.SQL.Clear;
form1.pedidos.SQL.Add('select clientes_codigo, '+
'produtos_Idprodutos, '+
'data_saida, '+
'descricao, '+
'valor_unitario, '+
'count(*) from pedidos '+
'where (data_saida between :data01 and :data02) group by clientes_codigo');
form1.pedidos.params[0].AsDate:=data01;
form1.pedidos.params[1].AsDate:=data02;
form1.pedidos.Open;
Erro gerado:(Invalid expression in the select list(not contained in either
an aggregate function or the GROUP BY clause).
Eu não sei se teria que modigicar alguma coisa na tabela.
Fernando
----- Original Message -----
From: "Andrei Luís" <compuvale.software em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, June 30, 2005 11:13 PM
Subject: Re: [firebase-br] Select agrupando
Adapte a sua tabela:
select codigo_cliente, count(*)
from pedidos
where data between :dataInicial and :datafinal
group by codigo_cliente
Testa lá e posta o resultado
Andrei
Em 30/06/05, Fernando Machado<fm-sistemas em fm-sistemas.com> escreveu:
> Como fazer um select que me retorne:
>
> Num inervalo entre duas datas os clientes ordenados pela quantidade de
> pedidos que efetuaram:
>
> Cliente: Nro. de pedidos:
>
> Fulano de Tal 150
> Cicrano 40
>
> Sendo que os clientes aparece mais de uma vez na mesma tabela, portanto
> não pode ser um campo chave.
>
> select * from tabela where (data between :data01 and :Data02) group by
> codigo_clientes <---Dessa forma dá um erro e não funciona (também
> não sei se seria assim)
>
> Fernando
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/
Mais detalhes sobre a lista de discussão lista