小编use*_*609的帖子

无法使用JOIN MYSQL确定WHERE子句应该是什么

我一直在创建一个MySQL查询.贝娄是我的数据库结构.

作者(author_id和author_name)

书籍(book_id和book_title)

books_authors是链接表(book_id和author_id)

所有书籍和作者的结果 - http://i.stack.imgur.com/VLzXn.png

我需要为某位作者获取所有书籍,但如果一本书有2位作者,则必须同时显示第二本书.例如,book_id = 2的书"Good Omens"有两位作者.当我运行查询时,我得到了author_id = 1的书籍,但我不能在结果中包含第二作者 - "Neil Gaiman".查询是:

SELECT * FROM books 
   LEFT JOIN books_authors 
       ON books.book_id=books_authors.book_id 
   LEFT JOIN authors 
       ON books_authors.author_id=authors.author_id 
WHERE books_authors.author_id=1
Run Code Online (Sandbox Code Playgroud)

以下是结果:

http://i.stack.imgur.com/PypqZ.png

我希望你能理解我,任何帮助将不胜感激.

mysql sql database mysqli join

6
推荐指数
2
解决办法
99
查看次数

标签 统计

database ×1

join ×1

mysql ×1

mysqli ×1

sql ×1