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

[SOLUCIONADO] select con IN

Estas en el tema de select con IN en el foro de Mysql en Foros del Web. hola amios cuando hago este select @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original select * from gasto where cod in ( 90 , 67 , 45 ...
  #1 (permalink)  
Antiguo 17/10/2013, 07:22
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 15 años, 2 meses
Puntos: 3
select con IN

hola amios

cuando hago este select
Código MySQL:
Ver original
  1. select * from gasto where cod in (90,67,45)

sale perfecto si los tres números están en tabla, pero si un valor NO esta en tabla no me muestra nada

mi pregunta: Existe alguna forma o un comando parecido al IN que me muestre los registros que si cumplen la condicion y si uno de ellos no esta en tabla que lo ignore?

Última edición por gnzsoloyo; 17/10/2013 a las 07:50
  #2 (permalink)  
Antiguo 17/10/2013, 07:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: select con IN

Cita:
Iniciado por hicolu Ver Mensaje
hola amios

cuando hago este select
Código MySQL:
Ver original
  1. select * from gasto where cod in (90,67,45)

sale perfecto si los tres números están en tabla, pero si un valor NO esta en tabla no me muestra nada

mi pregunta: Existe alguna forma o un comando parecido al IN que me muestre los registros que si cumplen la condicion y si uno de ellos no esta en tabla que lo ignore?
No se entiende bien a qué te refieres con que "ignore".
El IN () es una forma simple de OR, es decir, te mostrará aquellos registros donde el valor esté entre cualquiera de la lista. Si el valor del campo no está comprendido, simplemente no saldrá. Y si no devuelve nada, es porque ninguno de los registros tiene en ese campo un valor contenido en la lista.
Ahora bien, si no es esto, mejor muestranos con un ejemplo a qué te refieres.
__________________
¿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 17/10/2013, 08:01
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: select con IN

Hola hicolu:

No termino de entender cuál es el problema y qué es lo que quieres obtener , además, por lo que estás tratando de explicar, creo que estás entendiendo mal cómo funciona el comando IN...

Cita:
sale perfecto si los tres números están en tabla, pero si un valor NO esta en tabla no me muestra nada
Esto que dices es completamente FALSO, IN no funciona como lo estás colocando... el comando IN funciona como una concatenación de condiciones OR's, es decir, al poner esto:

Código:
...
where cod in (90,67,45)
...
es equivalente a poner

Código:
...
where 
    cod = 90 or 
    cod = 64 or 
    cod = 45
...
esto quiere decir que la única manera en que "no te muestre nada" como dices, es que NINGUNO DE LOS TRES VALORES EXISTA EN LA TABLA, si hay registros CON AL MENOS UNO DE LOS LOS VALORES, entonces estos se deben mostrar en la consulta...

Es por esto que te digo que no termino de entender qué es lo que quieres obtener como resultado:

Cita:
Existe alguna forma o un comando parecido al IN que me muestre los registros que si cumplen la condicion y si uno de ellos no esta en tabla que lo ignore?
Aquí creo que lo que quieres hacer es justamente OBLIGAR a que los registros contengan los tres códigos, pero insisto, eso deberías explicarnos mejor...
es conveniente que coloques la estructura de tu tabla, que nos pongas algunos datos de ejemplo y que a partir de esos datos nos expliques qué es lo que quieres obtener...

Saludos
Leo
  #4 (permalink)  
Antiguo 17/10/2013, 08:02
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: select con IN

jejejejeje otra vez gnzsoloyo tomándo la delantera ,

Saludos
Leo
  #5 (permalink)  
Antiguo 17/10/2013, 09:02
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 15 años, 2 meses
Puntos: 3
Respuesta: select con IN

ok, sorry por la pregunta, es el cansancio me webieeeee,trabaje de amanecida, tienen RAZON con el IN, si sale

GRACIAS a TODOS

Etiquetas: registros, select, tabla
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 13:37.