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

Cosulta sql que devuelva datos por mas que no haya parametros

Estas en el tema de Cosulta sql que devuelva datos por mas que no haya parametros en el foro de Mysql en Foros del Web. Tengo la siguiente consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT id , fecha , nombre , item , cantidad , precio_neto , iva , ...
  #1 (permalink)  
Antiguo 21/12/2016, 22:52
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 181
Antigüedad: 8 años, 2 meses
Puntos: 1
Cosulta sql que devuelva datos por mas que no haya parametros

Tengo la siguiente consulta:

Código SQL:
Ver original
  1. SELECT id, fecha, nombre, item, cantidad, precio_neto, iva, precio_total, medio_pago, datos, rubro FROM manodeobra  WHERE fecha BETWEEN '2011-01-01' AND '2011-12-01' AND  medio_pago LIKE '%efec%' ORDER BY fecha

Lo que quiero es que la misma me devuelva siempre resultados por mas que se omita algun parametro, por ej si omito las fechas
Código SQL:
Ver original
  1. fecha BETWEEN '2011-01-01' AND '2011-12-01'
, por mas que esto encuentre coincidencias
Código SQL:
Ver original
  1. medio_pago LIKE '%efec%'
la consulta se anula y no me devuelve nada. Hay alguna forma de hacer que sea el tipo de parametro que sea devuelva resultados si hay alguna coincidencia¿?. Esto se tendrá que hacer con UNION?, o usar IFNULL( , 0)?. Espero sus sugerencias gracias chicos.
  #2 (permalink)  
Antiguo 21/12/2016, 22:53
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 181
Antigüedad: 8 años, 2 meses
Puntos: 1
Respuesta: Cosulta sql que devuelva datos por mas que no haya parametros

No quiero tener que hacer esto con los IF queda mal, creo que lo que pregunte arriba se debe poder hacer

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.

Última edición por gnzsoloyo; 23/12/2016 a las 09:25
  #3 (permalink)  
Antiguo 22/12/2016, 07:37
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 6.761
Antigüedad: 10 años, 5 meses
Puntos: 672
Respuesta: Cosulta sql que devuelva datos por mas que no haya parametros

Cita:
Iniciado por Fernarey1810 Ver Mensaje
No quiero tener que hacer esto con los IF queda mal, creo que lo que pregunte arriba se debe poder hacer
Porque queda mal??? Si obtienes el resultado que necesitas, ademas quieres que si quitas un parametro haga una cosa, pues eso se hace como lo estas haciendo :P
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 22/12/2016, 07:47
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 181
Antigüedad: 8 años, 2 meses
Puntos: 1
Respuesta: Cosulta sql que devuelva datos por mas que no haya parametros

Me refiero a que no es lo mas eficiente que se puede hacer. Toda esa anidada de IFS se debe poder quitar, creo que deberia hacerlo con la funcion UNION pero queria ver si se les ocurre otra cosa
  #5 (permalink)  
Antiguo 22/12/2016, 07:57
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 6.761
Antigüedad: 10 años, 5 meses
Puntos: 672
Respuesta: Cosulta sql que devuelva datos por mas que no haya parametros

Union? eso es para otra cosa, tu problema es que quieres que la consulta funcione tenga o no parametros, eso nada mas se puede hacer con un IF, un union seria que tuvieras una consulta por ejemplo que ocupara el id 1 y otra que ocupara el id 2 y ocuparas los 2 resultados, ahi si te diria que usaras un union, pero para lo que planteas no queda de otra mas que usar if's......ademas esa "anidada de ifs'" como tu lo nombras es del lado del cliente, la base de datos solo recibiria el query que generas al final
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 22/12/2016, 09:38
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 181
Antigüedad: 8 años, 2 meses
Puntos: 1
Respuesta: Cosulta sql que devuelva datos por mas que no haya parametros

ok crei que se podia hacer desde SQL en vez de usar tantos IF



La zona horaria es GMT -6. Ahora son las 06:43.