Fórum Os 3 maiores preços (SQL) #149223
24/03/2003
0
gostaria de uma string SQL que me retornasse o nome dos produtos com os três maiores preços unitários.
aí é onde tá o problema...
como selecionar APENAS os 3 maiores preços em uma lista de preços?.
e ainda por cima não é o preço que é pedido e sim o nome dos produtos correspondentes a esses preços...
Quem pode me dar uma ajuda?
PS.: apenas deve ser usado SQL ANSI, ou seja, nada de usar TOP. :)
Carlos Filho
Curtir tópico
+ 0Posts
24/03/2003
Okama
´Select * from tabela order by preco Desc´
Query1.Open;
Showmessage( Query1.FieldByName(´Campo´).asString );
Query1.Next;
Showmessage( Query1.FieldByName(´Campo´).asString );
Query1.Next;
Showmessage( Query1.FieldByName(´Campo´).asString );
Gostei + 0
24/03/2003
Marcelo Saviski
where (preco = (select max(preco) from tabela)) or
(preco = (select max(preco) from tabela where preco <> (select max(preco) from tabela))) or (preco = (select preco from tabela where preco <> (select max(preco) from tabela where preco <> (select max(preco) from tabela))))[/color:e6d1f59a86]
é uma ganbiarra mas [color=red:e6d1f59a86]talvez[/color:e6d1f59a86] funcione.
Gostei + 0
24/03/2003
Carlos Filho
na verdade não tenho nenhuma opção! Isso é um trabalho pra entregar amanha 3ª (25/03). O professor pediu!
Como exemplo nós usamos o banco de dados NorthWind que vem com o Access...
Gostei + 0
24/03/2003
Carlos Filho
where (preco = (select max(preco) from tabela)) or
(preco = (select max(preco) from tabela where preco <> (select max(preco) from tabela))) or (preco = (select preco from tabela where preco <> (select max(preco) from tabela where preco <> (select max(preco) from tabela))))[/color:9e2654e097]
é uma ganbiarra mas [color=red:9e2654e097]talvez[/color:9e2654e097] funcione.[/quote:9e2654e097]
Testei aqui mas inicialmente nao funcionaou, contudo a dica que o professor deu é bem parecida com seu codigo, vou analizá-lo melhor
Muito obrigado!
:)
Gostei + 0
24/03/2003
Carnette
Como exemplo nós usamos o banco de dados NorthWind que vem com o Access...
Bah meu bruxo....se, voce está aprendendo programação, independentemente de voce saber sql ou não...voce não tá sendo leal com voce mesmo..pois, ficar pedidno código de programa para apresentar na aula não é legal não....onde fica sua capacidade de consultar em livros e apostilas.....ficar pedindo codigo pronto não lhe auxilia em nada na forma de raciociono....pesquisar é bom, e só aumenta o conhecimento...não me leve a mal....se, voce fose meu aluno e pegase vc fazendo isto o que voce fez aqui...com certeza teria te reprovado....
Gostei + 0
24/03/2003
Anonymous
FROM (SELECT VP1.*,(SELECT COUNT(*)
FROM (SELECT DISTINCT(QTD_MOEDA) QTD_MOEDA
FROM VALORES_PACOTE VP2) T
WHERE T.QTD_MOEDA > VP1.QTD_MOEDA) QTD
FROM VALORES_PACOTE VP1) TUDO
WHERE QTD < 7
ORDER BY 4 DESC
tabela
valores_pacote
coluna qtd_moeda
[]´s
Gostei + 0
24/03/2003
Carlos Filho
Bah meu bruxo....se, voce está aprendendo programação, independentemente de voce saber sql ou não...voce não tá sendo leal com voce mesmo..pois, ficar pedidno código de programa para apresentar na aula não é legal não....onde fica sua capacidade de consultar em livros e apostilas.....ficar pedindo codigo pronto não lhe auxilia em nada na forma de raciociono....pesquisar é bom, e só aumenta o conhecimento...não me leve a mal....se, voce fose meu aluno e pegase vc fazendo isto o que voce fez aqui...com certeza teria te reprovado....
Amiguinho, não precisa se ´arretar´ por causa da minha atitude...
não é nada para nota, muito menos algo que me deixará burro ou malvisto...
você mesmo disse com outras palavras que eu deveria consultar. Foi o que eu fiz: consultei seu fórum! vc deve estear orgulhoso pois é moderador (ou dono, sei lá) de um sistema eficiente de aprendizado, pois eu nao pedi a resposta em si, eu quis aprender, E APRENDI!
agradeço a Marcelo Saviski por ter me dado a luz que eu precisava. Acho que num universo de 8 questões de arrancar o couro que o professor passou, pedir ajuda em uma não é nenhum sacrilégio, VOCÊ NÃO ACHA???
Gostei + 0