@Gudzera

Как выбрать данные из таблицы mysql по нескольким категориям?

Здравствуйте уже тошнит от перекапывания гугла и яшки. Мне казалось я неплохо знаю mysql и в силах создать сложный запрос, оказалось нет. Знатоки mysql помогите!
У меня есть три таблицы (упрощенный вариант):
products(id), categories(id), product_categories(product_id, category_id)

Мне нужно выбрать данные (товар) из таблицы products, если этот товар подходит под нужные мне категории.
Допустим есть у меня 3 предмета, мне нужно выбрать только те предметы в которых категория круглый или овальный. Но фишка в том что у один предмет может быть в двух и более категориях сразу.

Если сказать проще, мне нужно выбрать данные по аналогии фильтров в интернет магазинах. Допустим вывести все товары, которые имеют красный цвет и квадратную форму. Также должны работать ограничения, то есть выводить инфу строго если этот товар входит в выбранные категории.

Сорян, если объяснил как то не так. Заранее спасибо за помощь.
  • Вопрос задан
  • 851 просмотр
Решения вопроса 1
@Gudzera Автор вопроса
SELECT i.* FROM products p JOIN filters f USING (id) WHERE f.filter IN (2,3,7) GROUP BY p.id HAVING COUNT(DISTINCT f.filter) = колличество фильтров
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы