首页 > 解决方案 > 通过枢轴选择

问题描述

我有三张桌子productsfeaturesproduct_features

产品

id
name
...

产品特点

product_id
feature_id

特征

id
name
...

我的 http 请求有一组功能 ID 例如:[3,6,14]. 如何选择具有所有这些功能的产品?

标签: mysqlpivot

解决方案


你可以试试这个:

SELECT products.id FROM products
JOIN product_feature ON products.id = product_feature.product_id 
JOIN features ON product_feature.feature_id = features.id
WHERE features.id IN (3,6,14)
GROUP BY products.id HAVING COUNT(*) = 3

推荐阅读