Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta valor entre un rango de numeros

Estas en el tema de Consulta valor entre un rango de numeros en el foro de Mysql en Foros del Web. Hola Gente. Tengo una duda que no se por dónde comenzar a investigar. Necesito buscar en una tabla con con rangos máximos y minimos de ...
  #1 (permalink)  
Antiguo 12/01/2015, 16:57
Avatar de fullmental  
Fecha de Ingreso: octubre-2004
Ubicación: México DF, Xochimilco
Mensajes: 593
Antigüedad: 19 años, 6 meses
Puntos: 3
Consulta valor entre un rango de numeros

Hola Gente.

Tengo una duda que no se por dónde comenzar a investigar. Necesito buscar en una tabla con con rangos máximos y minimos de un valor

ejemplo

Código MySQL:
Ver original
  1. +-----------------+-----------------+------------+-------------+
  2. | Límite Inferior | Límite Superior | Cuota Fija | % aplicable |
  3. +-----------------+-----------------+------------+-------------+
  4. | 0.01            | 114.24          | 0          | 0.0192      |
  5. | 114.25          | 969.5           | 2.17       | 0.064       |
  6. | 969.51          | 1703.8          | 56.91      | 0.1088      |
  7. | 1703.81         | 1980.58         | 136.85     | 0.16        |
  8. | 1980.59         | 2371.32         | 181.09     | 0.1792      |
  9. | 2371.33         | 4782.61         | 251.16     | 0.2136      |
  10. | 4782.62         | 7538.09         | 766.15     | 0.2352      |
  11. | 7538.1          | 14391.44        | 1414.28    | 0.3         |
  12. | 14391.45        | 19188.61        | 3470.25    | 0.32        |
  13. | 19188.62        | 57565.76        | 5005.35    | 0.34        |
  14. | 57565.77        | En adelante     | 18053.63   | 0.35        |
  15. +-----------------+-----------------+------------+-------------+
[/HTML]

Recibiré un valor y necesito encontrar en que rango esta ejemplo 120 estaría en la segunda fila y le correspondería el una cuota fija del 2.17 y un porcentaje aplicable del .064

Cómo puedo hacer esa consulta con MYSQL?

De antemano muchas gracias.

saludos.

Última edición por gnzsoloyo; 12/01/2015 a las 17:30
  #2 (permalink)  
Antiguo 12/01/2015, 17:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta valor entre un rango de numeros

Código MySQL:
Ver original
  1. SELECT a, b, c, d
  2. FROM tabla
  3. WHERE valorRecibido BETWEEN LimiteInferior AND LimiteSuperior;
Es una consulta para leer en un manual muy, pero MUY elemental de SQL...

Lo puedes encontrar en cualquier parte...

¿Buscaste en alguna parte?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/01/2015, 17:58
Avatar de fullmental  
Fecha de Ingreso: octubre-2004
Ubicación: México DF, Xochimilco
Mensajes: 593
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Consulta valor entre un rango de numeros

No entiendo muy bien.

Esto quiere decir que yo de antemano se las variables LimiteInferior y LimiteSuperior, sin embargo es justo lo que quiero encontrar, entiendo que es muy básico, busque en los foros pero no encontré un post parecido que me ayude a encontrar la fila correcta sin saber los valores que mencionas arriba.

Es muy probable que este explicando el problema de manera incompleta y por eso no me doy a entender bien por eso incorporo mas info al problema, los valores de LimiteInferior y LimiteSuperior variarán según el mes.
  #4 (permalink)  
Antiguo 12/01/2015, 18:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Consulta valor entre un rango de numeros

Estás explicando cosas contradictorias...
Según dijiste en el primer post:
Cita:
Tengo una duda que no se por dónde comenzar a investigar. Necesito buscar en una tabla con con rangos máximos y mínimos de un valor
Es decir que segun eso tienes una tabla que contiene un registro por cada par de valores límite de un rango. En ese caso LimiteMinimo y LimiteMaximo son los valores contenidos en las respectivas columnas.
Ahora dices:
Cita:
Esto quiere decir que yo de antemano se las variables LimiteInferior y LimiteSuperior,
Esos valores, ¿son rangos de la tabla en MySQL o son variables?
No es lo mismo.

Cita:
Es muy probable que este explicando el problema de manera incompleta y por eso no me doy a entender bien por eso incorporo mas info al problema, los valores de LimiteInferior y LimiteSuperior variarán según el mes.
Es irrelevante si varia o no mes a mes. Eso sólo nos dice que deberán agregarse al menos dos campos: 1) La fecha de alta a que corresponde un juego de rangos, 2) La fecha de desactivación del set anterior de rangos.

Por allí no tienes experiencia en diseño de estructuras de datos, y no conoces el modelo Entidad-relacion, en el que se basan las bases de datos relacionales como MySQL, POstgreSQL, SQL Server, Oracle y muchas otras.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 13/01/2015, 12:49
Avatar de fullmental  
Fecha de Ingreso: octubre-2004
Ubicación: México DF, Xochimilco
Mensajes: 593
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Consulta valor entre un rango de numeros

Muchas gracias Gnzsoloyo, si, ese es exactamente mi problema, no conozco el modelo Endidad-relación es por eso que solicito orientación, tal vez deba leer a conciencia un manual básico que me permite diseñar mejor esa base de datos. Buscando...

Y si, me doy cuenta que es contradictorio voy a tratar de solucionarlo de otra manera.

Saludos.

Etiquetas: numeros, rango, sql, tabla, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.