J'essaie de faire fonctionner cela depuis un certain temps maintenant, mais cela ne semble tout simplement pas fonctionner, ce n'est peut-être même pas possible, ce que je veux faire, c'est effectuer une requête de jointure MySQL en utilisant comme, comme celui-ci par exemple j'ai trouvé ...
SELECT *
FROM Table1
INNER JOIN Table2 ON Table1.col LIKE '%' + Table2.col + '%'
mais cela ne semble pas fonctionner du tout, toute aide qui pourrait être apportée serait brillante, merci!
Essayer
SELECT *
FROM Table1
INNER JOIN Table2 ON Table1.col LIKE CONCAT('%', Table2.col, '%')
MySQL effectue la concaténation des chaînes différemment des autres bases de données, donc si vous souhaitez porter votre application, vous devez avoir une version alternative où ||
est utilisé comme opérateur de concaténation, comme l'a mentionné Michael dans une autre réponse. Cependant, cet opérateur ne fonctionne pas dans MySQL, car il signifie or
.
Et à la place:
SELECT * FROM Table1, Table2 WHERE Table1.col LIKE '%'+Table2.col+'%';
Comme vous sélectionnez tout dans les deux tables de toute façon, cela vous y mènera probablement.
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
Tout d'abord, vous devez restreindre votre demande par (p.products_id = pd.products_id) et LIMIT. Et regardez combien de temps cela a pris. Après cela, vous pouvez aller faire une comparaison avec (OERE). Si vous voulez comparer directement au sein de JOIN, vous déposerez votre base de données s'il y a dans la liste 20 milliers d'articles. Il faut se méfier.)