我有三张桌子。
Table : products
column : id, productname
Table :attribute_master
column : id, attributename
Table : assignedproductfilter
column : id, productid (FK products), filterid (FK attribute_master)
表assignedproductfilter
可能包含多个productid
的同一个filterid
。
示例:
| id | productid | filterid |
|----|-----------|----------|
| 1 | 105 | 56 |
| 2 | 105 | 50 |
| 3 | 105 | 34 |
| 4 | 200 | 56 |
| 5 | 201 | 22 |
现在,假设我希望获得filterid
为56,50和34的所有产品。所有这三个filter id
都应分配给products
。
如何在mysql中为此编写查询?
答案 0 :(得分:0)
SELECT p.* FROM products AS p
INNER JOIN WITH assignedproductfilter AS af ON af.productid = p.id
WHERE af.filterid IN (56, 50, 34)
请在下一次要求尝试自己尝试之前。
使用sqlfiddle之类的内容,或只包含模式定义SQL。