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?
[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
Curtir tópico
+ 0
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
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
Clique aqui para fazer login e interagir na Comunidade :)