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

[SOLUCIONADO] Consulta con condiciones variables

Estas en el tema de Consulta con condiciones variables en el foro de Mysql en Foros del Web. Muy buenas tardes. Ojalá alguien me pueda ayudar. Tengo una consulta como la siguiente: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT * FROM universidades WHERE ...
  #1 (permalink)  
Antiguo 26/09/2014, 18:09
 
Fecha de Ingreso: julio-2012
Mensajes: 15
Antigüedad: 11 años, 9 meses
Puntos: 1
Consulta con condiciones variables

Muy buenas tardes.

Ojalá alguien me pueda ayudar. Tengo una consulta como la siguiente:

Código MySQL:
Ver original
  1. SELECT * FROM universidades WHERE pais = ? and ciudad = ?

Dicha consulta me devolverá un listado de universidades que cumplan con ambas condiciones.

Sin embargo, me interesa que si alguna está en blanco MySQL la ignore, ¿hay alguna forma de hacerlo?.

Lo que sucede es que puedo tener otras 50 restricciones adicionales y hacer una consulta para cada caso es imposible.

muchas gracias!!

Última edición por gnzsoloyo; 26/09/2014 a las 18:11 Razón: código de programación no permitido en foros de base de datos
  #2 (permalink)  
Antiguo 26/09/2014, 18:16
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 condiciones variables

Pero perfectamente puedes programar de modo que las condiciones se agreguen dinámicamente... es algo muy usual en este tema.
De todos modos, eso es off topic en este foro.
Pregunta en el de PHP como se hace.
__________________
¿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 26/09/2014, 18:23
 
Fecha de Ingreso: julio-2012
Mensajes: 15
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Consulta con condiciones variables

Hola, si, efectivamente se puede hacer así pero no se que tan eficiente sea programar por php cada uno de los casos y combinaciones posibles.

En sql server lo solucioné fácil colocando un case dentro de la consulta, algo similar a esto:
Código MySQL:
Ver original
  1. SELECT * FROM universidades WHERE pais = if(@pais is null then pais else @pais) and ciudad = if(@ciudad is null then ciudad else @ciudad)
@pais y @ciudad son parametros del stored procedure.

Un saludo y gracias por la respuesta


Edit:

Por si a alguien mas le sirve, lo solucione de esta forma:
Código MySQL:
Ver original
  1. SELECT * FROM a_inmueble where pais = IF(:pais='',pais,:pais) and estado = IF(:estado='',estado,:estado)

Última edición por boxccs; 26/09/2014 a las 19:34

Etiquetas: condiciones, select, sql, variables
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 00:29.