Fórum Dúvida em uma Consulta #280417

06/05/2005

0

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

Responder

Posts

06/05/2005

Rapiner

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.


Responder

Gostei + 0

07/05/2005

Carlosrm

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar