我正在尝试从一个关联表中选择满足两个或多个相同字段值的项目,听起来令人困惑,让我解释一下.
+-----------------------+
| item_id | category_id |
+-----------------------+
| 1 | 200 |
| 1 | 201 |
| 1 | 202 |
| 2 | 201 |
| 2 | 202 |
| 3 | 202 |
| 3 | 203 |
| 4 | 201 |
| 4 | 207 |
+-----------------------+
在表格中,我希望只能选择我传递的类别中的项目.因此,例如,如果我传递201和202的类别ID,我只想要两个类别的项目(它们可以有其他类别,但至少需要在我查询的类别中),所以在这种情况下,我只想要第1项和第2项,因为它们是201和202类别中唯一的项目.
我最初的SQL语句是这样的
SELECT * FROM item_category WHERE category_id = 201 AND category_id = 202;
但显然这不起作用.
SELECT * FROM item_category WHERE category_id = 201 OR category_id = 202;
上述查询也不起作用,因为它也会返回第4项和第3项.
那么我怎样才能选择至少必须属于这两个类别的项目呢?
请记住,我可能会传递超过2个类别ID.
感谢您的帮助.