mysql join query usando like?

He intentado hacer que esto funcione durante bastante tiempo, pero parece que no funciona, tal vez ni siquiera es posible, lo que quiero hacer es realizar una consulta de combinación de mysql como, por ejemplo, ejemplo que encontré …

SELECT * FROM Table1 INNER JOIN Table2 ON Table1.col LIKE '%' + Table2.col + '%' 

pero simplemente no parece funcionar en absoluto, cualquier ayuda que se pueda dar sería shiny, ¡gracias!

Tratar

 SELECT * FROM Table1 INNER JOIN Table2 ON Table1.col LIKE CONCAT('%', Table2.col, '%') 

MySQL realiza la concatenación de cadenas de forma diferente a otras bases de datos, por lo que, en caso de que desee portar su aplicación, debe tener una versión alternativa donde || se usa como operador de concatenación, como menciona Michael en otra respuesta. Este operador no funciona en MySQL, ya que significa or .

¿Qué tal esto en su lugar?

 SELECT * FROM Table1, Table2 WHERE Table1.col LIKE '%'+Table2.col+'%'; 

Ya que de todos modos está seleccionando todo en ambas tablas, esto probablemente lo lleve allí.

 SELECT p.products_id, pd.products_name, p.products_model FROM products_description pd JOIN products p ON p.products_id = pd.products_id WHERE pd.products_name LIKE CONCAT( '%', p.products_model, '%' ) LIMIT 0 , 100 

En primer lugar, debe restringir su solicitud por (p.products_id = pd.products_id) y LIMIT. Y mira a qué hora tomó. Después de eso puedes ir y hacer una comparación con (DONDE). Si va a comparar directamente dentro de JOIN, dejará su db si hay en la lista 20,000 elementos. Tener cuidado.)