【发布时间】:2014-08-25 10:38:59
【问题描述】:
我有两个表,第一个是 products 表,它有 2 列:id 和 product_name。 第二个表是filters表,它有2列:filter_id,product_id。
例如我在产品表中有这个:
id | product_name
1 | test product
这在过滤器表中:
filter_id | product_id
1 | 1
2 | 1
3 | 1
如您所见,id 为“1”的产品有 3 个过滤器。
我的目标是通过过滤器获取产品。 例如,我需要产品具有 2 和 3 filter_id 的每个产品。我尝试使用类似的东西:
SELECT * FROM products p LEFT JOIN filters f ON (p.id = f.product_id) WHERE (filter_id = '2' AND filter_id = '3')
我不能这样做,因为 filter_id 不能同时等于 2 和 3。 主要问题是我应该只使用一个查询来获取产品。
【问题讨论】: