Задать вопрос
DIvan4ik
@DIvan4ik
Web-мастер с 3-х летним стажем

Как сформировать корректный запрос в связанную таблицу?

Допустим есть 3 таблицы: Products, Attributes, Attribute_values (связана с двумя другими по attribute/product_id).

Есть 2 товара - Компьютерный стул и Кресло
Есть 3 Атрибута - Наличие спинки, Подлокотники, Изменяемая высота.

И вопрос: Как вытащить товары у которых все 3 атрибута в наличии (=1) через смежную таблицу? ( должен получиться только компьютерный стул)
  • Вопрос задан
  • 222 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@fynivx
Software Engineer ( .NET )
Вот так, например (это T-SQL):
select P.*
  from Products as P
  join Attribute_values as AV
    on AV.ProductID = P.ID
   and AV.Value = 1
   and AV.AttributeID in (attr1, attr2, attr3)
 group by P.*
having count(AV.ID) = 3


Ну, естественно сочетание ProductID/AttributeID в Attribute_values должно быть уникальным.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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