Така че, ако предположим, че колоните name
и colors
са единствените колони, в които трябва да търсим, бих направил следното (наивно решение, но ще работи добре, ако вашата база данни няма милиони редове и нямате хиляди клиенти, търсещи наведнъж).
Първо създайте изглед
CREATE VIEW SearchHere AS
SELECT item_id, CONCAT(name, ' ', colors) AS FullDescription
FROM table
Не знам името на таблицата във вашата екранна снимка, затова използвах table
като името му.
Сега, ако потребител търси adult red pants
можете да подадете запитване
SELECT item_id
FROM SearchHere
WHERE FullDescription LIKE '%adult%'
AND FullDescription LIKE '%red%'
AND FullDescription LIKE '%pants%'
Разбира се, ще трябва да генерирате заявката в движение, но това не е проблем. Можете да играете с използването на AND
или OR
и поставяне на интервали между символа wildcrad %
и думата за търсене. Вероятно бихте искали също така да направите изгледа по по-сложен начин, например да направите повече от просто CONCAT
.