[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