我有两列的表:
product_id 和 attr_value_id
通过这个查询,我得到 39 行:
SELECT * FROM ka_product_attributes WHERE attr_value_id IN (655, 656, 658)
通过这个查询,我得到 58 行:
SELECT * FROM ka_product_attributes WHERE attr_value_id IN (655, 656, 658, 589)
如何选择所有具有 attr_value_id 589 和以下 attr_value_id 655、656、658 之一的 product_id?
像这样的东西:
SELECT * FROM ka_product_attributes WHERE ( attr_value_id IN ( 655, 656, 658 ) AND attr_value_id IN ( 589 ) ) GROUP BY product_id HAVING COUNT( product_id ) >1
但这行不通。