SQL Выберите несколько значений столбца

0

У меня возникли трудности с некоторым SQL - и мне сложно описать это, поэтому, пожалуйста, несите меня. Я пытаюсь выбрать продукты, у которых есть х правильных функций. Чтобы упростить ситуацию, проблема, с которой я столкнулась, - это несколько таблиц. Соответствующая информация о моих таблицах:

products(**product_id**)
features(**feature_id, product_id**, value_id)
featurenames(**feature_id**, name)
featurevalues(**value_id**, value)

Я пытаюсь выбрать все продукты, которые, например, предназначены для секса: возраст мужчины: дети, с указанием возраста и пола в таблице featurenames, а мужчины и дети - значения в таблице характеристик. Это часть другого более крупного запроса, который получает все продукты по категориям, которые я не включил, поскольку это просто усложнит ситуацию. Благодарим вас за помощь.

Теги:

1 ответ

1
Лучший ответ

Это так приятно, что вы присоединяетесь к нему дважды.

Select
  P.Product_ID
From
  Products P
  Inner Join Features F1 On P.Product_ID = F1.Product_ID
  Inner Join FeatureNames FN1 On F1.Feature_ID = FN1.Feature_ID And FN1.Name = 'sex'
  Inner Join FeatureValues FV1 On F1.Value_ID = FV1.Value_ID And FV1.Value = 'male'
  Inner Join Features F2 On P.Product_ID = F2.Product_ID
  Inner Join FeatureNames FN2 On F2.Feature_ID = FN2.Feature_ID And FN1.Name = 'age'
  Inner Join FeatureValues FV2 On F2.Value_ID = FV2.Value_ID And FV1.Value = 'children'
  • 0
    Спасибо, добрый сэр, я думаю, что пробовал это раньше, но почему-то это не так.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню