たとえば、私のデータベースには3つのテーブルがあります。
- 本に関するデータを保存するためのBooksテーブル
- タグに関するデータを保存するためのタグテーブル
- 複数のタグを持つ本に関する情報を格納するためのリンクテーブル(Book_Tagsテーブル)。
下の画像に示されています...(矢印の上の「M」は関係の多面性を意味します)
BOOKS BOOK_TAGS TAGS
+----+---------+ +---------+----------+ +----+---------------+
|ID | Title | |Book_Id | Tags_Id | |ID | Tag_Name |
+----+---------+ +---------+----------+ +----+---------------+
|1 | Book_1 | 1 M |1 | 1 | M 1 |1 | Tag_Name_1 |
|1 | Book_1 |<--------|1 | 2 |-------->|2 | Tag_Name_2 |
+----+---------+ |1 | 3 | |3 | Tag_Name_3 |
|2 | 1 | +----+---------------+
|2 | 3 |
+---------+----------+
私の質問は、データベースにクエリを実行して、次のような結果が得られるようにする方法です。
+---------------------------------------------------------+
|ID | Book_Title | Tags |
+---------------------------------------------------------+
|1 | Book_1 | Tag_Name_1, Tag_Name_2, Tag_Name_3|
|2 | Book_2 | Tag_Name_1, Tag_Name_3 |
+---------------------------------------------------------+
そして、
+----------------------------------+
|ID | Book_Title | Tags |
+----------------------------------+
|1 | Book_1 | Tag_Name_1 |
|2 | Book_1 | Tag_Name_2 |
|3 | Book_1 | Tag_Name_3 |
|4 | Book_2 | Tag_Name_1 |
|5 | Book_2 | Tag_Name_3 |
+----------------------------------+