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

Buscar palabra exacta

Estas en el tema de Buscar palabra exacta en el foro de Mysql en Foros del Web. Hola a todos... Tengo la Tabla "encuentro" y en ella el campo "investiga" donde se asientan varios apellidos. Mi búsqueda la realizo de la siguiente ...
  #1 (permalink)  
Antiguo 04/09/2008, 09:22
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Buscar palabra exacta

Hola a todos...

Tengo la Tabla "encuentro" y en ella el campo "investiga" donde se asientan varios apellidos. Mi búsqueda la realizo de la siguiente manera:

"SELECT * FROM encuentro WHERE investiga LIKE '%$apellido%'";

Pero si la palabra que busco, por ejemplo, es "FERRA" me muestra todas las filas que tienen el apellido "FERRA" en ese campo y tambien aquellas que tengan esos caracteres dentro de un apellido, como FERRANDO, FERRAMONTE, etc... pero no contienen el apellido "FERRA".

Como puedo hacer para que me muestre la palabra exacta, es decir, solo las filas que contengan el apellido buscado, en este caso "FERRA"???

Desde ya muchas gracias!!!

Saludos.-
  #2 (permalink)  
Antiguo 04/09/2008, 09:27
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Buscar palabra exacta

la respuesta es esto

SELECT * FROM encuentro WHERE investiga LIKE '% apellido %';
  #3 (permalink)  
Antiguo 04/09/2008, 09:36
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Respuesta: Buscar palabra exacta

Hola...

No entiendo la respuesta, si es de esa manera que lo estoy haciendo y no me da resultados!

Saludos.-
  #4 (permalink)  
Antiguo 04/09/2008, 09:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Buscar palabra exacta

ojo que entre % y % hay un espacio en blanco .... fijate bien !
  #5 (permalink)  
Antiguo 04/09/2008, 09:49
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Respuesta: Buscar palabra exacta

Hola nuevamente...

En el buscador uso una variable "$apellido" y he probado dejando los espacios que indican:

SELECT * FROM encuentro WHERE investiga LIKE '% $apellido %'

Pero de esa forma no busca, me da que no hay resultados.

Saludos.-
  #6 (permalink)  
Antiguo 04/09/2008, 09:56
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 9 meses
Puntos: 45
Respuesta: Buscar palabra exacta

Si quieres obtener el resultado exacto lo puedes hacer con un where o quitarle %% a tu consulta.
% es un carácter comodín que indica que "Coincidencia cualquier número de carácteres"


SELECT * FROM encuentro WHERE investiga = 'Ferra';

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #7 (permalink)  
Antiguo 04/09/2008, 10:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 48
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Buscar palabra exacta

da la casualidad que el asegura que el campo investiga es un campo compuesto por varios nombres

te recomiendo que si el campo investiga empieza por el apellido o lo que estes buscando pues solamente le pongas el % al iniicio :

SELECT * FROM encuentro WHERE investiga LIKE '%$apellido'
  #8 (permalink)  
Antiguo 04/09/2008, 10:38
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 20 años, 1 mes
Puntos: 3
Respuesta: Buscar palabra exacta

Bueno, ya decubri que es lo que pasa, es por torpeza e inexperiencia!!!

Resulta que los apellidos en el campo están separados por comas y algunas filas solo tienen un apellido.

Por eso al poner espacios o comas o puntos no encuentra filas o solo algunas dependiendo de lo que se ponga, por ejemplo:

FROM encuentro WHERE investiga LIKE '% $nombre %' ";
FROM encuentro WHERE investiga LIKE '%$nombre,%' ";
FROM encuentro WHERE investiga LIKE '%$nombre.%' ";

Por ahí, la posible solución sería poner con "OR" las distintas posibilidades de búsqueda... no se.

Saludos.-
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:13.