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

condicion where mismo campo varios valores

Estas en el tema de condicion where mismo campo varios valores en el foro de Bases de Datos General en Foros del Web. Hola a to2 Necesito saber como obtener la siguiente consulta Por ejemplo: tengo una tabla con diferentes numeros id ---- numero 1 -----5 2 -----8 ...
  #1 (permalink)  
Antiguo 23/09/2009, 10:14
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
condicion where mismo campo varios valores

Hola a to2
Necesito saber como obtener la siguiente consulta
Por ejemplo: tengo una tabla con diferentes numeros

id ---- numero
1 -----5
2 -----8
3 -----23
4 ------6

Quiero una SQL en la que obtenga los registros numero=5 y numero=23
Si hago esta sql no obtengo nada
SQL = select * from Tabla where numero=5 and numero=23

Si cambio la and por or
SQL = select * from Tabla where numero=5 or numero=23
, obtengo los resultado aun cuando uno de los dos mumeros no se encuentra.

Como hago la condicion where para que solamente me devuelva resultados si cumple que
para el mismo campo hay dos valores diferentes ?
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI

Última edición por Motki; 23/09/2009 a las 10:44
  #2 (permalink)  
Antiguo 23/09/2009, 10:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: condicion where mismo campo varios valores

select * from Tabla where numero=5 or numero=23
Prueba así, pues parece que tenías un error al escribir mumero en lugar de numero.

Última edición por jurena; 23/09/2009 a las 13:29
  #3 (permalink)  
Antiguo 23/09/2009, 10:43
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: condicion where mismo campo varios valores

la slq la ejecuta bien
ha sido al trascribirla aquí

el problema es que NO Funciona dos and sobre un mismo campo no devuelven registros aun cuando se cumplen ambas condiciones....

COmo puedo hacer la SQL?
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #4 (permalink)  
Antiguo 23/09/2009, 10:54
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: condicion where mismo campo varios valores

Y no tiene sentido que funcione.
Como va a ser posible que numero sea =5 y que sea =29 al mismo tiempo?

prueba así:
Código sql:
Ver original
  1. SELECT * FROM Tabla WHERE numero IN(5,23)

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 23/09/2009, 12:14
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: condicion where mismo campo varios valores

Ya lo he probado y el resultado es similar al de un or
es decir con
SELECT * FROM Tabla WHERE numero IN(5,23)

me obtiene resultado aun cuando uno de los dos registros no exista...


Lo que quiero es que se cumplan las dos condiciones
es decir, que la consulta obtenga resultados si solo si existen los
valores 5 y 23.

Alguien que sepa como hacer esto ??
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
  #6 (permalink)  
Antiguo 23/09/2009, 12:17
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: condicion where mismo campo varios valores

Cita:
Y no tiene sentido que funcione.
Como va a ser posible que numero sea =5 y que sea =29 al mismo tiempo?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 23/09/2009, 13:26
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: condicion where mismo campo varios valores

Es como te dice huesos52, imposible, pero si no nos lo estás explicando suficientemente y lo que buscas es el caso en que un mismo id tiene en dos registros numero 5, 23, para eso, te valdría algo así:
SELECT id, count(*) from tabla WHERE numero IN (5,23) GROUP BY id HAVING count(*)>=2
con esos averiguarías los id que tienen 5 y 23, pero para eso el id no debería ser auto_increment y tendría que repetirse en ese campo id, es decir, no ser una primary key, sino en todo caso foreign key. En el ejemplo que nos has puesto, al 23 (id=3) corresponde un id distinto que al numero 5 (id = 1).
En ningún registro se dan los numeros 23 y 5 a la vez. Edité mi anterior post para cambiar and por or. El and es imposible.
  #8 (permalink)  
Antiguo 23/09/2009, 14:01
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, 5 meses
Puntos: 2658
Respuesta: condicion where mismo campo varios valores

Cita:
Lo que quiero es que se cumplan las dos condiciones
es decir, que la consulta obtenga resultados si solo si existen los
valores 5 y 23.

Alguien que sepa como hacer esto ??
Tienes un sólo campo que permite almacenar un solo número.
¿Cómo esperas, en esas condiciones, que el mismo campo almacene DOS NUMEROS DIFERENTES?

En todo caso, debe existir otro atributo en común que sea igual entre ambos registros, como sería, el objeto o la persona a que pertenecen.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 24/09/2009, 13:04
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 14 años, 7 meses
Puntos: 15
Respuesta: condicion where mismo campo varios valores

te aconsejaria que mostraras dos tablas una con
SQL = select * from Tabla where numero=5
y la otra con
SQL = select * from Tabla where numero=23

asi te ahorrarias muchos problemas...
  #10 (permalink)  
Antiguo 29/09/2009, 10:07
 
Fecha de Ingreso: septiembre-2003
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: condicion where mismo campo varios valores

ok gracias ...
al final he optado por hacer dos selects y juntarlas con la instruccion UNION
__________________
---Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa.-- GHANDI
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:18.