如何返回那些filterid等于x和y的productid。
此是选择并返回表
查询:
rm -rf ~/.local/share/heroku/client
处理结果:
SELECT p.product_id,pf.filter_id
FROM oc_product p
LEFT JOIN oc_product_filter pf
on p.product_id=pf.product_id
where p.product_id in(96621,97026) and pf.filter_id in (1901,1855 )
group by p.product_id,pf.filter_id
但我希望得到product_id filter_id
96621 1855
96621 1901
97026 1901
product_id
。
想要展示filter_id=1855 and filter_id=1901
和only product_id=96621
主要查询:
not return product_id=97026
尝试并测试:
1 @ GordThompson:
2. @ Edward Mendez
答案 0 :(得分:0)
使用OR而不是AND子句。
WHERE_id in()OR filter_id in()OR product_id in in()
答案 1 :(得分:0)
从97026的IN子句中删除product_id。同时删除该组,因为没有聚合功能。
SET @product_id = xxx
SET @filter_id = xxx
SELECT p.product_id,pf.filter_id
FROM oc_product p
LEFT JOIN oc_product_filter pf
on p.product_id=pf.product_id
where p.product_id in(@product_id) and pf.filter_id in (filter_id)
#group by p.product_id,pf.filter_id
答案 2 :(得分:0)
如果你想要一个包含filter_id = 1901和filter_id = 1855的product_id值列表,你可以使用
npm install github:yourname/angular2-grid.git
或者,如果表可能有给定product_id的特定filter_id的多个实例,则可以使用
SELECT product_id
FROM oc_product_filter
WHERE filter_id IN (1901,1855)
GROUP BY product_id
HAVING COUNT(*) = 2