Mysql
 sql >> Base de données >  >> RDS >> Mysql

Méthode des champs de recherche MYSQL

Donc, si nous supposons que les colonnes name et colors sont les seules colonnes dans lesquelles nous devons rechercher, je ferais ce qui suit (solution naïve mais fonctionnera bien si votre base de données n'a pas des millions de lignes et que vous n'avez pas des milliers de clients qui recherchent à la fois).

Tout d'abord, créez une vue

CREATE VIEW SearchHere AS
SELECT item_id, CONCAT(name, ' ', colors) AS FullDescription
FROM table

Je ne connais pas le nom de la table dans votre capture d'écran, j'ai donc utilisé table comme son nom.

Désormais, si un utilisateur recherche adult red pants vous pourriez émettre une requête

SELECT item_id
FROM SearchHere
WHERE FullDescription LIKE '%adult%'
AND FullDescription LIKE '%red%'
AND FullDescription LIKE '%pants%'

Bien sûr, vous devrez générer la requête à la volée, mais ce n'est pas un problème. Vous pouvez jouer avec en utilisant AND ou OR et en plaçant des espaces entre le symbole générique % et le terme de recherche. Vous voudriez probablement aussi faire la vue d'une manière plus sophistiquée, par exemple, faire plus que juste CONCAT .