私は2つの列を持つテーブルを持っています:
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
しかし、これはうまくいきません。