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

Consulta con dos condiciones y la misma columna

Estas en el tema de Consulta con dos condiciones y la misma columna en el foro de Mysql en Foros del Web. Saludos, Estoy tratando de hacer la siguiente consulta en MySQL: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT * FROM tasas WHERE ( deducible BETWEEN 100 ...
  #1 (permalink)  
Antiguo 12/01/2016, 11:38
 
Fecha de Ingreso: diciembre-2012
Mensajes: 21
Antigüedad: 11 años, 4 meses
Puntos: 1
Consulta con dos condiciones y la misma columna

Saludos,

Estoy tratando de hacer la siguiente consulta en MySQL:
Código MySQL:
Ver original
  1. SELECT * FROM tasas
  2. WHERE (deducible BETWEEN 100 AND 500) AND (deducible BETWEEN 10000 AND 50000);

El problema es que no me genera ningún resultado, Intente usando WHERE IN pero no me resulto util.
A pesar de consultar en la Web no consigo ninguna solución.

Gracias por la ayuda.
  #2 (permalink)  
Antiguo 12/01/2016, 11:41
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Consulta con dos condiciones y la misma columna

No te da resultado por que no hay número en este mundo que este entre 100-500 y al mismo tiempo entre 10000-50000... intenta esto

Código MySQL:
Ver original
  1. SELECT * FROM tasas WHERE (deducible BETWEEN 100 AND 500) OR (deducible BETWEEN 10000 AND 50000);
  #3 (permalink)  
Antiguo 12/01/2016, 11:44
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 con dos condiciones y la misma columna

Nunca te dará resultados por que estás usando AND, que es una conjunción. Si repasas lógica proposicional, verás que ambas premisas den AND deben cumplirse al mismo tiempo, lo que es imposible en ti caso.
Un mismo registro, en un mismo campo, no puede haber un valor que cumpla con dos rangos incompatibles entre si.
Si lo que deseas que que devuelva los registros donde ese valor esté entre 100 y 500, o bien entre 10000 y 50000, eso es OR, no AND.
Código MySQL:
Ver original
  1. SELECT * FROM tasas
  2.     deducible BETWEEN 100 AND 500
  3.     OR
  4.     deducible BETWEEN 10000 AND 50000;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 12/01/2016, 11:59
 
Fecha de Ingreso: diciembre-2012
Mensajes: 21
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Consulta con dos condiciones y la misma columna

Es que necesito ambos rangos, incluso mas
  #5 (permalink)  
Antiguo 12/01/2016, 12:13
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 12 años, 10 meses
Puntos: 15
Respuesta: Consulta con dos condiciones y la misma columna

Cita:
Iniciado por sairam2188 Ver Mensaje
Es que necesito ambos rangos, incluso mas
Por eso, si usas cualquiera de las dos querys que están arriba tendrás todos los registros que estén entre 100 y 500 y entre 10000 y 50000
  #6 (permalink)  
Antiguo 12/01/2016, 12:42
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 con dos condiciones y la misma columna

El WHERE aplica sobre cada registro individualmente, no sobre un conjunto obtenido. Y en ese sentido es que no puedes pone condiciones interexcluyentes.
Siendo que ese campo sólo puede tener un único valor en un mismo registro, sólo podrá cumplir con uno de los N rangos, mientras que otros registros cumplirán con otros. La idea es que obtengas todos, los que cumplan con uno, o cumplan con otro.
¿Se entiende?
Ahora bien, estoy suponiendo que no han hecho un desastre y usado un campo multivaluado...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
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 14:17.