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 originalSELECT t2.nombreapellido, t1.nombre
FROM tabla2 t2
LEFT JOIN tabla1 t1 ON t1.nombre = LEFT( t2.nombreapellido, instr( t2.nombreapellido, ' ' ) -1 )
para una misma tabla
Código sql:
Ver originalSELECT t2.nombreapellido, t2.nombre
FROM tabla2 t2
INNER JOIN tabla2 t1 ON t2.nombre = LEFT( t1.nombreapellido, instr( t1.nombreapellido, ' ' ) -1 )