[firebase-br] um SELECT...
paulosxs Yahoo!
paulosxs em yahoo.com.br
Qui Jun 7 19:42:22 -03 2007
Alan Matos <alanladecasa em gmail.com> escreveu:
> Olá rubem...
>
> Rapaz, eu coloquei em negrito aki na lista só pra mostrar os registros que
> eu quero que o Select me retone...
>
> (...)
>
> eu quero aplicar o selec nessa tabela
>
> DATA HISTÓRICO VALOR P TIPO SALDO A CLIENTE RESTANTE
> ========== ========= ======= ====== ======= ======= ========
> 11.10.2006 RESTANTE 160,000 DÉBITO 180,470 00000004 20,470
> 12.10.2006 RESTANTE 95,000 DÉBITO 117,400 00000003 22,400
> 12.10.2006 RESTANTE 200,000 DÉBITO 294,330 00000005 94,330
> (...)
>
> e abaixo, está o resultado que eu espero do select: O último movimento de
> cada cliente.
> (representado em negrito, acima)
>
> DATA HISTÓRICO VALOR P TIPO SALDO A CLIENTE RESTANTE
> ========== ========= ======= ====== ======= ======= ========
> 13.10.2006 RESTANTE 40,000 DÉBITO 94,330 00000006 54,330
> 13.10.2006 RESTANTE 4,000 DÉBITO 54,330 00000004 50,330
> (...)
Alan, a estrutura da tabela não nos garante a sequência real dos
registros. Uma coluna para hora ajudaria, mas também não garantiria. Eu
usaria uma coluna "Id" autoincrementável. Mas, se considerarmos, com a
estrutura em uso, que os registros estão na ordem natural de eventos eu
usaria uma SP com um [for...select..] onde verificaria se, para cada
registro de um cliente, há um registro posterior, caso em que NÃO seria
executado o suspend.
Não imagino um meio mais garantido do que essa checagem (considerando a
estrutura em uso). Nem mesmo o uso do Max() com group by pode garantir.
Mais detalhes sobre a lista de discussão lista