MySQL - Comparacion de cadenas

 
Vista:
sin imagen de perfil

Comparacion de cadenas

Publicado por Javier (21 intervenciones) el 17/02/2012 12:30:08
Hola.
Estoy intentando añadir un dato cuyo origen es otro dato de otra tabla.
El problema viene cuando comparo los campos de ambas tablas.

t1.nombre LIKE t2.nombre AND t1.ape LIKE t2.ape AND t1.ape2 LIKE t2.ape2

El problema viene cuando t1.nombre puede ser algo como "M. del Mar" y en t2.nombre = "Maria del Mar" y algo parecido seria con los apellidos.

¿Existe alguna instruccion, como soundex , que pueda dar solución a este problema?.


Un saludo,
Javier
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 953
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Comparacion de cadenas

Publicado por leonardo_josue (414 intervenciones) el 17/02/2012 19:45:03
Existe la función SOUNDEX en MySQL, pero creo que esto no te sirve del todo para resolver tu problema;

1
2
3
4
5
6
7
mysql> SELECT SOUNDEX('M. del Mar'), SOUNDEX('Maria del Mar');
+-----------------------+--------------------------+
| SOUNDEX('M. del Mar') | SOUNDEX('Maria del Mar') |
+-----------------------+--------------------------+
| M3456                 | M63456                   |
+-----------------------+--------------------------+
1 row in set (0.13 sec)


El lugar de eso dale un vistazo a las Búsquedas de texto completo:

http://dev.mysql.com/doc/refman/5.0/es/fulltext-search.html

Saludos
Leo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Comparacion de cadenas

Publicado por Javier (21 intervenciones) el 17/02/2012 21:15:30
Gracias.
He creado el indice tal como indicas pero la query que quiero ejecutar seria :

UPDATE rankin3 SET nsoc = (select numsoc from socios where MATCH (nombre, apel1, apel2) AGAINST (socios.nombre, socios.ape1, socios.ape2);

Falla y hace referencia al componente AGAINST
¿Qué puede estar mal?.

Un saludo,
JAvier.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar