我有这样的表:
tbl_product
===========
product_id (PK)
tbl_product_attribute
=====================
pro_attr_id (PK)
pro_attr_pro_id (FK to tbl_product)
pro_attr_attr_opt_id(FK to tbl_attribute_option)
现在,我想查询在中具有2个属性的产品tbl_product_attribute
。
像这样的例子:
SELECT "p".*
FROM "tbl_omx_product" "p"
LEFT JOIN "tbl_omx_product_attribute" "proAttr" ON "proAttr".pro_attr_pro_id = p.product_id
WHERE
(pro_attr_attr_opt_id LIKE '%1759%' ) AND
(pro_attr_attr_opt_id LIKE '%1776%' )
GROUP BY "p"."product_id";
因此,我想获得的产品具有恰好为2的值tbl_omx_product_attribute
,分别是1759和1776。
但是,除非我使用RelationOR
而不是,否则上述查询不会显示任何结果AND
。
问题是什么查询来检索tbl_product_attribute处具有2个值的产品?谢谢你
也许我误会了您,但是如果您希望该产品同时具有这两个属性选项,则可以查询:
SELECT "p".*
FROM "tbl_omx_product" "p"
JOIN "tbl_omx_product_attribute" "proAttr1"
ON "proAttr1".pro_attr_pro_id = p.product_id
AND "proAttr1".pro_attr_attr_opt_id LIKE '%1759%'
JOIN "tbl_omx_product_attribute" "proAttr2"
ON "proAttr2".pro_attr_pro_id = p.product_id
AND "proAttr2".pro_attr_attr_opt_id LIKE '%1776%'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句