查找具有某些特定功能的所有类别

时间:2011-03-24 09:06:34

标签: mysql database database-design

我有一个包含某些类别的表

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

现在我想查找具有多个特定功能的所有类别。 例如,具有ID为 AND 10。

的两个要素的所有类别

以下是查找具有ID为10的功能的所有类别的示例查询:

  

从类别内部联接中选择*   categories_features   on(categories.category_id =   categories_features.category_id)在哪里   feature_id = 10

1 个答案:

答案 0 :(得分:0)

这是一个解决方案:

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)