Dúvida em uma Consulta

Delphi

06/05/2005

Tenho o seguinte resultado em um grid:

[b:bd1bc6bfe8]Veic Iniciante Encerrante Diferença[/b:bd1bc6bfe8]
1001 2758 3000 242
1001 3000 4000 1000
1002 2500 3000 500
1003 1600 1700 100
1003 1700 2500 800


Este resultado vem de um Clientedataset. Alguém tem alguma idéia de como posso fazer para não deixar repetir o veiculo e colocar o menor Iniciante com o maior Encerrante. Ou seja o veic. 1001 e o 1003 apareceria :
[b:bd1bc6bfe8]Veic Iniciante Encerrante Diferença[/b:bd1bc6bfe8]
1001 2758 4000 1242
1003 1600 2500 900

Vcs tem alguma idéia?


Foxcyber

Foxcyber

Curtidas 0

Respostas

Rapiner

Rapiner

06/05/2005

tenta indexar para evitar a repetição dos registros. na consulta axo que tem um comando no aql que o min e o max que faz justamente isso de tirar o maior valor e o menor.


GOSTEI 0
Carlosrm

Carlosrm

06/05/2005

FoxCyber,

select veic, min(iniciante) as Menor, max(encerrante) as Maior,
(max(Encerrante) - Min(Iniciante)) as Diferenca
from veiculos
group by veic
Having count(veic) > 1

obs: A última linha garante que somente veículos que apareçam mais de uma vez estejam no resultado (conforme o seu exemplo).
Se quiser que também o veic 1002 apareça, basta remover a última linha da instrução SQL.

Delphi 6 + Fb 1.5. Testei pelo IBOConsole.
Alguns SGBD dispensam o uso de ´as´. No Fb 1.5 funcionou das 2 maneiras. Qualquer dúvida, post novamente comentando os erros.

carlosrm


GOSTEI 0
POSTAR