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 + ''%''