Найти все категории, которые имеют определенные особенности - PullRequest
1 голос
/ 24 марта 2011

У меня есть таблица, содержащая некоторые категории

Categories Table: 
-- category_id   <-- primary key
-- name

У меня также есть таблица, содержащая некоторые функции

Features Table: 
-- feature_id   <-- primary key
-- name

И таблица отношений «многие ко многим»:

Categories_Features Table: 
-- category_feature_id   <-- primary key
-- category_id
-- feature_id

Теперь я хочу найти все категории, которые имеют несколько специфических особенностей.Например, все категории, имеющие обе функции с идентификатором 3 AND 10.

Вот пример запроса для поиска всех категорий, имеющих функцию с идентификатором 10:

выбрать * из категорий внутреннее объединение category_features on (category.category_id = Categories_features.category_id), где feature_id = 10

1 Ответ

0 голосов
/ 24 марта 2011

Вот решение:

SELECT * FROM `categories` 
WHERE
category_id in (select category_id from categories_features where feature_id = 3) 
AND
category_id in (select category_id from categories_features where feature_id = 10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...