【发布时间】:2013-05-31 15:40:09
【问题描述】:
我有product 表和product_attributes 表。我想要过滤具有必要属性的产品,这是我的 sql:
SELECT * FROM product p
INNER JOIN product_attributes p2 ON p.id = p2.product_id
WHERE p2.attribute_id IN (637, 638, 629))
但是,即使产品只有一个属性(例如 637),它也会给我所有产品。但我需要具有所有给定属性(637、638、629)的产品。
【问题讨论】:
-
显示一些示例数据和预期结果将有助于我们为您提供帮助。
-
你显式地实现了 WHERE 子句来检查表 p2 中的出现。所以你甚至不会试图限制在决赛桌。您需要一个外部 SELECT 并过滤派生表。