私はこれをかなり長い間機能させようとしましたが、うまくいかないようです、おそらくそれも不可能です、私がやりたいのは、このような私が見つけた例...
SELECT *
FROM Table1
INNER JOIN Table2 ON Table1.col LIKE '%' + Table2.col + '%'
しかし、それはまったく機能していないようです。提供できるヘルプはすばらしいでしょう、ありがとう!
試して
SELECT *
FROM Table1
INNER JOIN Table2 ON Table1.col LIKE CONCAT('%', Table2.col, '%')
MySQLは他のデータベースとは異なる方法で文字列の連結を行うため、アプリを移植する場合は、||
は、別の回答でMichaelが言及したように、連結演算子として使用されます。ただし、この演算子はor
を意味するため、MySQLでは機能しません。
代わりにこれはどうですか:
SELECT * FROM Table1, Table2 WHERE Table1.col LIKE '%'+Table2.col+'%';
とにかく両方のテーブルからすべてを選択しているので、おそらくそこに到達するでしょう。
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
まず、(p.products_id = pd.products_id)とLIMITでリクエストを制限する必要があります。そして、それがかかった時間を見てください。その後、(WHERE)と比較できます。 JOIN内で直接比較する場合、リストに2万個のアイテムがある場合、データベースを停止します。注意してください。)