【发布时间】:2011-06-28 16:40:36
【问题描述】:
我有三个 InnoDB mysql 表。一个有一个书籍列表,其中包含 book_id、名称和项目链接的字段。另一个是作者表,包括 author_id、名字和姓氏,最后一个表是要作者的书籍索引。有些作品有不止一位作者。
我正在尝试编写一个查询来提取所有书籍,并在作者字段中显示给定标题的所有作者。例如,如果我想要一个图书列表,查询将返回图书 ID、图书名称、我可以下载图书的链接以及图书所有作者的姓名。假设有 2 位或更多作者,我怎样才能将所有作者姓名放入一个字段中?
这是我目前所拥有的:
SELECT b.book_id, book_title, link_src, CONCAT(a.firstname, ' ',a.lastname) AS author from books AS b
JOIN author_to_books AS atb ON b.book_id = atb.book_id
JOIN authors AS a ON atb.author_id = a.author_id
这为同一本书提供了两个单独的行。例如,如果测试书 1 有 Joe Public 和 John Smith 作为作者,我会得到两行相同的书 ID。我只想在作者字段中包含两位作者的一行。
非常感谢任何帮助。
【问题讨论】:
标签: mysql