我試圖解決問題。這是我的查詢>Mysql - WHERE具有相同標識符的多個值
SELECT p.*
FROM `ps_product` p
LEFT JOIN `ps_product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.id_shop = 1)
LEFT JOIN `ps_product_attribute` pa ON (pa.`id_product` = p.`id_product`)
LEFT JOIN `ps_product_attribute_combination` pac ON (pac.`id_product_attribute` = pa.`id_product_attribute`)
WHERE pl.`id_lang` = 2
AND p.`id_category_default` = 25
AND p.`active` = 1
AND pac.`id_attribute` = 1714
AND pac.`id_attribute` = 1736
AND pac.`id_attribute` = 1737
AND pac.`id_attribute` = 216
ORDER BY p.`price` ASC
我的問題是隻選擇包含所有4個id_attributes的產品。
表ps_product_attribute_combination包含兩列。 id_product_attribute和id_attribute。例如>
id_attribute/id_product_attribute
1714 120
1736 120
1737 120
216 120
我希望解釋是succesfull :) 謝謝!
那麼它不可能是1714 ** AND ** 1736,使用IN:'AND pac.id_attribute IN(1714,1736,1737,216)' – 2014-09-29 14:27:58
IN不起作用。它必須具有全部4. IN即使不包含全部也將工作4. – Wr1t3r 2014-09-29 14:29:23