[firebase-br] duvida em SELECT!

omar l m rosa omar em conesul.inf.br
Sáb Maio 5 21:03:16 -03 2007


tenta

select * from tabela
where mov in (select max(mov) from tabela group by cliente)

Bai!
omar
----- Original Message -----
From: "paulosxs Yahoo!" <paulosxs em yahoo.com.br>
To: <lista em firebase.com.br>
Sent: Saturday, May 05, 2007 5:27 PM
Subject: Re: [firebase-br] duvida em SELECT!


Alan Matos <alanladecasa em gmail.com> escreveu:
> Olá pessoal, to apanhando aki, então resolvi perguntar na lista pra ve
> se alguem pode tentar me ajudar tenho uma tabela com os seguites
> registros
>
> MOV   CLIENTE DATA        VALOR TIPO
> 00001 0000010 12/04/2007 120,00 C
> 00002 0000150 12/04/2007  20,00 C
> 00003 0000010 12/04/2007 100,00 C
> 00004 0000011 12/04/2007 120,00 C
> 00005 0000010 12/04/2007 120,00 C
> 00006 0000011 12/04/2007 120,00 C
> 00007 0000150 12/04/2007 120,00 C
>
> O que eu estou precisando é de um SELECT que me retorne o último
> movimento e cada cliente.

Bem, Alan... Primeiro temos que considerar que com, essa estrutura, é
matematicamente impossível determinar o último MOV. O que o sistema pode
fazer é "dar um chute". Para isso tenho duas sugestões:

1. Crie um campo para registrar a hora dentro de uma exatidão
suficiente... em hh:mm, por exemplo. A query seria:

select
   C.CLIENTE,
   (select first 1 M.VALOR
      from Movimentos M
         where M.CLIENTE=C.CLIENTE
      order by M.DATA desc, M.HORA desc) "ULT.VALOR"
      from Clientes

2. Caso o campo para HORA não lhe seja conveniente, use o MOV:

select
   C.CLIENTE,
   (select first 1 M.VALOR
      from Movimentos M
         where M.CLIENTE=C.CLIENTE
      order by M.DATA desc, M.MOV desc) "ULT.VALOR"
      from Clientes


P.S. Para que você precisa do último valor?



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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





Mais detalhes sobre a lista de discussão lista