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

Se pueden unir dos LIKE???

Estas en el tema de Se pueden unir dos LIKE??? en el foro de Mysql en Foros del Web. Buenas a todos, Me explico, el tema que tengo es que tengo un conjunto de datos, y de ellos quiero que me saque por pantalla ...
  #1 (permalink)  
Antiguo 26/04/2010, 09:49
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 16 años, 2 meses
Puntos: 0
Se pueden unir dos LIKE???

Buenas a todos,

Me explico, el tema que tengo es que tengo un conjunto de datos, y de ellos quiero que me saque por pantalla todos los datos que en el campo_uno contengan "hola" más todos los datos que en el campo_uno contengan "adios".

La pega es que si hago cada consulta individualmente no hay problema, pero no se como hacer para que en la mismas consulta me muestre ambos resultados.

He intentado hacer con un OR pero me salen un montonazo más de resultados que no quiero que salgan y claro con AND no me sale ninguno puesto que no hay ningun valor que contenga los dos. También he probado con IN pero en esta sentencia no me funcionan los comodines (%) y no me vale para lo que hago.

Alguien me puede orientar. Saludos a todos
  #2 (permalink)  
Antiguo 26/04/2010, 11:20
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Se pueden unir dos LIKE???

Puedes darme un ejemplo con datos que tengas y que deberia de salirte, para poderte ayudar mejor
  #3 (permalink)  
Antiguo 26/04/2010, 11:25
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años
Puntos: 14
Respuesta: Se pueden unir dos LIKE???

que tal con:

WHERE ..... AND (campo_uno like '%hola%' OR campo_uno like '%adios%')

Suerte
__________________
My path is lit by my own fire, I only go where I desire
  #4 (permalink)  
Antiguo 26/04/2010, 11:29
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: Se pueden unir dos LIKE???

No habría ningún problema, ya que la única particularidad es que esa condición se evalúa como una sola. Dará TRUE si al menos una de las dos opciones es verdadera.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 26/04/2010, 11:35
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Se pueden unir dos LIKE???

¿Qué es lo que sale cuando buscas con OR en ese campo dos veces y que no quieres que salga?
SELECT * FROM tutabla WHERE campo1 LIKE '%hola%' OR campo1 LIKE '%adiós%'
Una pregunta más: ¿tus tablas son MyIsam o InnoDB? Si son MyIsam podrías usar índices FULL TEXT
  #6 (permalink)  
Antiguo 27/04/2010, 07:59
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Se pueden unir dos LIKE???

Buenas tardes a todos,

Primeramente gracias por vuestra colaboración, y segúndo exoplico cual era mi respuesta y cual ha sido mi solución.

Como os dije ayer al unir dos LIKE me salian datos ok pero luego me daban cosas erróneas.

El problema es que utilizo una variable para elegir LIKE o NOT LIKE, de tal manera que o me muestra solo unos datos o me muestra todos los datos me nos esos, entonces cuando hacia la operación LIKE con el OR me mostraba lo que yo quería, pero al hacer NOT LIKE con un OR me salian barbaridades (vamos la suma de todos), pero si sustituyo el OR por un AND a la hora de hacer el NOT LIKE me muestras como antes solo unos datos o me muestra todos los datos me nos esos.

No se si me he explicado, pero bueno si a alguien le sucede lo mismo que me pida más explicaciones que se las doy.

Gracias de nuevo a todos, agradezco mucho su ayuda. Un saludo

Etiquetas: dos, unir
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 05:20.