我的目标:展示具有某些功能的产品(由表单决定)
我的数据结构简化了(如果看起来不好,请随时告诉我): 表产品
- ID
- 姓名(例如:鞋子)
表product_features
- 产品 ID
- 类型(例如:尺寸)
- 值(例如:42)
我的问题:如何选择具有功能类型“尺寸”和值“42”和“43”的产品列表
即使类型相同,产品也可以有多个“product_features” (例如:颜色->红色、尺寸->42、尺寸->43)
我尝试的示例:
- 左连接product_features的次数与我为每个产品获得product_features的次数相同(非常重)
- 创建一个带有枢轴的 vue -> 当产品有许多具有相同类型的product_features(例如:许多尺寸)时出现结构问题
- 在 php 中完成 -> 如果没有非常繁重的过程就无法获得每个 Product_features
(我是法国人,所以,抱歉我的英语不好) 提前非常感谢
最佳答案
我认为这只是一个简单的 INNER JOIN 即可获得结果,然后 HAVING COUNT(f.value) = 2 将确保该产品的尺寸为 42 和 43。
SELECT p.id,p.name
FROM product_features f
INNER JOIN products p ON p.id = f.product_id
WHERE f.type = 'size' AND f.value IN ('42','43')
GROUP BY p.id,p.name
HAVING COUNT(f.value) = 2
关于php - MySQL、PHP - 动态产品功能的搜索引擎(在另一个表中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38296110/