Mysql
 sql >> база данни >  >> RDS >> Mysql

Метод на MYSQL полета за търсене

Така че, ако предположим, че колоните 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 .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django Комбиниране на И и ИЛИ заявки с много към много поле

  2. Копирайте две колони от една таблица в друга, но само уникални стойности

  3. Посочване на конкретни полета със Sequelize (NodeJS) вместо *

  4. Качване на множество изображения с Codeigniter, запазващ само един път на файла към MySQL база данни

  5. Java получава автоматично увеличаващия се номер на текущия вмъкнат ред, за да го използва за друга заявка?