Задать вопрос
@Gudzera

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

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

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

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

Сорян, если объяснил как то не так. Заранее спасибо за помощь.
  • Вопрос задан
  • 891 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • Shultais Education
    Продвинутый SQL
    1 месяц
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
Решения вопроса 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) = колличество фильтров
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы