我有个问题,我正试图通过一个数据库,显示一个作者的所有书籍,基于一个搜索,我使用一个作者的名字来获得isbn,然后找到isbn的所有细节…如果作者写了一本书,它显示的是一行,但当作者写了多本书,它给我一个错误…我做错了什么,你能不能救命…这是我的密码。

SELECT* FROM books WHERE isbn=(SELECT isbn FROM books_authors
  WHERE author_id IN
 (SELECT author_id FROM authors WHERE first_name ="J.K."))

最佳答案

更改为:

SELECT* FROM books WHERE isbn in (SELECT isbn FROM books_authors
  WHERE author_id IN
 (SELECT author_id FROM authors WHERE first_name ="J.K."))

如果子查询返回多个结果,则不能有isbn=(subquery)

关于mysql - 子查询从mysql返回多个行错误结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40422072/

10-12 05:24