Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Estou precisando trazer do meu banco de dados o valor a partir de um peso
id, peso, valor
1 - 0.300 - 12.00
2 - 1.000 - 15.00
3 - 2.000 - 18.00
4 - 3.000 - 21.00
De 0 a 0.300 custa 12 reais
de 0.301 ate 1.000 custa 15 reais
1.001 ate 2.001 custa 18 reais.
E assim por diante.
Então se eu entrar com o peso de 1.250 eu tenhho que trazer o valor de 15,00
Algumas coisas que eu fiz não rolou.
BETWEEN peso<= AND peso>=
Sinceramente estou um tanto perdido,
Alguma idéia de como proceder?
é interessante criar outro campo?
Obrigado
Estranho, não consigo ver lógico nesse outro modelo que tu passo peso_de/peso_ate
Pode me dar um exemplo de como ficaria porque não entendi mesmo.
1)
id, peso_de, peso_ate,valor
1 - 0.300 - 0.999 - 12.00
2 - 1.000 - 1.999 - 15.00
3 - 2.000 - 2.999 - 18.00
4 - 3.000 - 999.9999 - 21.00
ai bastaria um
... between 1.250 between peso_de and peso_ate ...
2) A query anterior funcionou ?
Ah taaaaaa puts entendi.
Vou adaptar agora mas pela sua lógica já resolvo.
Bacana cara, obrigado mesmo pela explicações e ajuda.
Grande abraço.
Olá Pessoal,
Depois depopular minha tabela com valores e pesos, acabei chegando em um problema.
Não esta trazendo o valor correto.
Ex da minha base
ID,PESO,VALOR
1, 5, 20.00
2, 3, 15.00
Exemplo de consulta.
Utilizando o exemplo do Motta
Com o peso 5.5
Teoricamente teria que me trazer o valor de 20.00
Mas a query abaixo esta me dizendo para trazer a MAIOR ID do peso<=5.5 e a maior nesse caso é a ID 2.
E o correto era me trazer a ID 1.
SELECT VALOR
FROM TABELA
WHERE ID =
(
SELECT MAX(ID)
FROM TABELA
WHERE PESO <= 5.5
)Alguem idéia para resolver isso?
Obrigado
Esquecem resolvido.
Achar o ID
SELECT MAX(ID)
FROM TABELA
WHERE PESO <= 1250
Achando o valor
SELECT VALOR
FROM TABELA
WHERE ID =
(
SELECT MAX(ID)
FROM TABELA
O modelo ficaria melhor com peso_de/peso_ate