Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/11/2008, 10:53
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Sentencia LIKE, problema.

Aunque no sé si te he entendido bien, creo que necesitas cruzar datos. Me explico: por lo que dices, o tienes dos tablas con una columna cada una, una con nombres y otra con nombres y apellidos, o tienes dos columnas de una misma tabla. En los dos casos la solución será hacer un cruce INNER JOIN sea de las tablas o de la tabla consigo misma. Pero debemos saber cuál es el campo o dato de unión para ese cruce. Si en la columna nombre y apellidos aparece primero el nombre separado con un espacio (ojo al peligro de los nombres compuestos), como por ej. Luis Martínez, puede hacerse así:
para dos tablas distintas
Código sql:
Ver original
  1. SELECT t2.nombreapellido, t1.nombre
  2. FROM tabla2 t2
  3. LEFT JOIN tabla1 t1 ON t1.nombre = LEFT( t2.nombreapellido, instr( t2.nombreapellido, ' ' ) -1 )

para una misma tabla
Código sql:
Ver original
  1. SELECT t2.nombreapellido, t2.nombre
  2. FROM tabla2 t2
  3. INNER JOIN tabla2 t1 ON t2.nombre = LEFT( t1.nombreapellido, instr( t1.nombreapellido, ' ' ) -1 )