我有一个对象、标签和 tag_relationships 表。对象和标签各有一个 id 列,tag_relationships 将两者连接起来。
tag_relationships 示例(在下面的示例中使用):
+--------+--------+
| obj_id | tag_id |
+--------+--------+
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 2 | 3 |
| 2 | 4 |
+--------+--------+
我想实现 AND 搜索以允许人们过滤标签。只应返回包含所有给定 tag_id 的行的 obj_id。例如:
示例输入:1、3(实际上是标签名称,但它们会转换为 id)
所需输出:2
感觉这应该很容易,但对于我的生活,我想不出一个简单的方法来做到这一点。我目前正在考虑返回一个表,其中包含 tag_relationships 中具有给定 tag_id 之一的所有行,然后使用 PHP 对它们进行排序。有没有更简单的仅限 SQL 的方法?