Поиск в процентном совпадении - MySQL

Узнай цену своей работы

Формулировка задачи:

В БД есть данные:
1;Масло моторное синтетическое 2;Масло трансмиссионное минеральное 3;Масло 5w-40 4;Масло синтетическое моторное
если делаю запрос:
SELECT * FROM tabl1 WHERE NAME LIKE '%Масло моторное%'
получаю
1;Масло моторное синтетическое
Должно быть:
1;Масло моторное синтетическое 4;Масло синтетическое моторное 2;Масло трансмиссионное минеральное 3;Масло 5w-40
Если я делаю запрос:
SELECT * FROM tabl1 WHERE NAME LIKE '%Масло минеральное 5w-40%'
Должно быть:
3;Масло 5w-40 2;Масло трансмиссионное минеральное 4;Масло синтетическое моторное 1;Масло моторное синтетическое
Помогите составить правильный запрос.

Решение задачи: «Поиск в процентном совпадении»

textual
Листинг программы
SELECT * FROM `tabl1`WHERE name LIKE '%масло%' AND (name LIKE '%моторное%' OR name LIKE '%синтетическое%' OR name LIKE '%FORD%')

Объяснение кода листинга программы

  1. SELECT * FROM tabl1 — выбираем все данные из таблицы tabl1
  2. WHERE name LIKE '%масло%' — фильтруем данные по полю name, чтобы остались только те, у которых значение содержит слово 'масло'
  3. AND (name LIKE '%моторное%' OR name LIKE '%синтетическое%' OR name LIKE '%FORD%') — добавляем еще три условия для фильтрации данных по полю name:
    • значение поля name должно содержать слово 'моторное'
    • значение поля name должно содержать слово 'синтетическое'
    • значение поля name должно содержать слово 'FORD'

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5