Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/01/2016, 15:51
Avatar de chulifo
chulifo
 
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: "Select where" varias opciones.

Cita:
Iniciado por raquelRkl Ver Mensaje
Hola,
Si el valor de los estados es consecutivo, puedes probar a usar between. Sería algo como:
Código SQL:
Ver original
  1. SELECT * FROM tabla WHERE (estado BETWEEN 1 AND 3) AND fechaf <=1452042056 ORDER BY id ASC

Otro consejo para que la consulta sea más rápida es que evites el uso de *. Escribe directamente el nombre de las columnas que necesites, aunque sean todas.

Un saludo!
Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si los valores de la lista son un rango, puedes usar lo que te propone raquelRkl. Si son valores salteados, tienes tres opciones:
1) Crear dinámicamente la consulta con un lenguaje de programación, donde uses IN(lista de datos).
2) Crear una cadena con todos los valroes separados por comas y usar FIND_IN_SET()
3) Crear una sentencia preparada para ejecutar el IN().

las dos ultimas son para usar en stored procedures. La otra es simplemente:
Código MySQL:
Ver original
  1. SELECT a, b, c,
  2. FROM tabla
  3. WHERE campo IN(1, 2, 4, 98, 123, 67, ... etc)

La segunda opcion funciona así:

Código MySQL:
Ver original
  1. SELECT a, b, c,
  2. FROM tabla
  3. WHERE FIND_IN_SET(campo, '1, 2, 4, 98, 123, 67, ... etc')>0
Muchas gracias por sus respuestas, todas me seran muy util!
__________________
Solo soy un simple fanático que mata el tiempo de la mejor manera.