Foros del Web » Programando para Internet » PHP »

problema en sentencia IN en mysql

Estas en el tema de problema en sentencia IN en mysql en el foro de PHP en Foros del Web. Hola a todos: Tengo este codigo SQL: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT a . codigoactividadcita , b . descripcion_actividad , a . codigo_diagnostico ...
  #1 (permalink)  
Antiguo 09/01/2013, 09:25
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 9 meses
Puntos: 4
Información problema en sentencia IN en mysql

Hola a todos:

Tengo este codigo SQL:

Código SQL:
Ver original
  1. SELECT a.codigoactividadcita,b.descripcion_actividad, a.codigo_diagnostico,c.nombre_diagnostico,contar
  2. FROM causas_consulta a, actividades_citas b,diagnosticos c
  3. WHERE a.codigoactividadcita=b.cod_actividad
  4. AND a.codigo_diagnostico=c.id_diagnostico
  5. AND codigoactividadcita IN ('$general','$prioritaria','$interna','$obstetricia','$ginecologia','$pediatria') ORDER BY contar DESC LIMIT 10

El problema radica en lo siguiente, si yo le envio las variables $general','$prioritaria','$interna','$obstetricia' ,'$ginecologia','$pediatria con datos cada una el programa funciona PERFECTO pero si yo dejo de enviar tan solo una variable sin datos ya no me hace ninguna consulta, la idea es que pueden IR O NO todas las varibles con datos.... es decir el usuario puede enviar $general, o $prioritaria y $interna o TODAS...

Última edición por gnzsoloyo; 09/01/2013 a las 09:39
  #2 (permalink)  
Antiguo 09/01/2013, 09:43
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: problema en sentencia IN en mysql

tu problema parece ser más de programación que de MySQL.
Evidentemente el código que posteas es un recorte de un script de PHP, y es en ese script donde obtienes y asignas los datos al IN().
Si tu problema es que en ocasiones alguna de las variables llega vacía, y no quieres incluirla en la lista, eso no lo resuelves en la sentencia SQL, sino en el PHP, donde vas agregando u omitiendo cada uno de los valores a la lista. Es lo que se denomina creación dinámica de cadenas, y es tema de programación, no de SQL.
Sería mejor que te pase el post al foro de PHP para que te digan como se hace para realizar esas validaciones y crear la sentencia de modo dinámico.
__________________
¿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 09/01/2013, 13:22
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 9 meses
Puntos: 4
Respuesta: problema en sentencia IN en mysql

PERFECTO, mil gracias

Etiquetas: mysql
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:35.