soporta segundo por optimizar lentas eficientes cuantas consultas con complejas mysql sql join sql-like

mysql - segundo - SQL Join en una columna como otra columna



optimizar consultas lentas mysql (2)

Puedes usar CONCAT:

SELECT a.first_name, b.age FROM names a JOIN ages b ON b.full_name LIKE CONCAT(''%'', a.first_name, ''%'')

o también LOCATE , que devuelve la posición de la primera aparición de a.first_name en b.full_name :

SELECT a.first_name, b.age FROM names a JOIN ages b ON LOCATE(a.first_name, b.full_name)

Si hay un partido, la unión tendrá éxito.

Posible duplicado:
mysql unirse a la consulta utilizando como?

Quiero hacer una unión donde una columna contiene una cadena de la columna de otra tabla:

SELECT a.first_name, b.age FROM names a JOIN ages b ON b.full_name LIKE ''%a.first_name%''

es posible? Estoy usando MySQL. Por supuesto, la consulta anterior no funcionará ya que LIKE ''% a.first_name%'' solo buscará la cadena a.first_name, y no el valor real de la columna.


Solo necesita concatenar las cadenas, también puede hacer una búsqueda y reemplazar.

SELECT a.first_name, b.age FROM names a JOIN ages b ON b.full_name LIKE ''%'' + a.first_name + ''%''