SELECT COM VARIAS COLUNAS

ROBSON220BASS 31/05/2012 00:05:40
#403191
pessoal, parece ser simples porem nunca precisei..
e o seguinte:

tenho uma tabela : tabela1

nesta tabela tem como exemplo 6 colunas:

numero | idprod | descricao | preco1 | preco2 | preco3
-----------------------------------------------------------------
5 | 1 | teste1 | 1,00 | 2,00 | 3,00
5 | 2 | teste2 | 0,50 | 0,60 | 0,90
5 | 3 | teste3 | 1,50 | 2,00 | 2,50
5 | 4 | teste4 | 2,00 | 1,00 | 4,00
------------------------------------------------------------------


preciso selecionar o menor preco de um produto

ou seja um select que retorne o idprod, descricao, menor_preco

tipo:

idprod | descricao | menor_preco
-----------------------------------------------------------------
1 | teste1 | 1,00
2 | teste2 | 0,50
3 | teste3 | 1,50
4 | teste4 | 1,00
------------------------------------------------------------------

se alguem puder ajudar, fico muito agradecido..

PCAMPOS 31/05/2012 07:05:21
#403194
eu acho que nao podes fazer isso directo na bd.


o que podes fazer é por os valores numa listbox ou numa test box

e depois comparar os valores para mostrar o mais pequeno
ROBSON220BASS 31/05/2012 07:36:27
#403199
o param least, gratest funciona no vb.net com sql server 2005?

pcampos voce tem um exemplo de como pegar o menor valor , para isso eu deveria informar um valor para comparacao nao e mesmo?

qual melhor forma para isso?

muito agradecido, desde ja.
ROBIU 31/05/2012 08:11:22
#403200
Resposta escolhida
Faz um select com os três preços. Na hora de carregar a textbox (por exemplo), passa as três colunas como Argumento de uma função que vai comparar e retornar o valor menor. Ex:

Function MenorValor(ByVal Valor1 As Double, ByVal Valor2 As Double, ByVal valor3 As Double) As Double
If Valor1 > Valor2 AndAlso Valor1 > valor3 Then
Return Valor1
ElseIf Valor2 > Valor1 AndAlso Valor2 > valor3 Then
Return Valor2
ElseIf valor3 > Valor1 AndAlso valor3 > Valor1 Then
Return valor3
End If
End Function


e na textbox:

TextBox1.Text = MenorValor(Preco1, Preco2, Preco3)
, onde os valores serão o resultado de sua select no banco de dados.
ROBSON220BASS 31/05/2012 08:16:31
#403201
blz,.... vou testar e depois te falo.. obrigado.

Tópico encerrado , respostas não são mais permitidas