これが表です
mysql> desc tags;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| content_id | int(11) | NO | | NULL | |
| name | varchar(100) | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
いくつかのデータ
mysql> select * from tags;
+----+------------+---------------+
| id | content_id | name |
+----+------------+---------------+
| 1 | 36 | banana |
| 2 | 36 | strawberry |
| 3 | 36 | orange |
| 4 | 36 | apple |
| 5 | 36 | watermelon |
| 6 | 37 | qiwi |
| 7 | 37 | apple |
| 8 | 37 | orange |
| 9 | 37 | bed |
| 10 | 38 | grape |
| 11 | 38 | apple |
+----+------------+---------------+
11 rows in set (0.00 sec)
私が望んでいるのは、Appleであり、content_idにもORANGEが関連付けられている一意content_id
ののリストを取得することです。name
したがって、この例では、どのcontent_idsが「apple」と「orange」の両方でタグ付けされているかを知りたい場合は、次のようになります。
+------------+
| content_id |
+------------+
| 36 |
| 37 |
+------------+
それに応じてタグ付けされたcontent_idは2つだけなので。これを行うための最良の方法は何ですか?