2
我有表:选择多对多表在一个查询
**RUBRIC:** `RubricID, RubricName`
**AUTOR:** `AutorID, FirstName, LastName`
**BOOK:** `BookID, BookName, book_photo`
**BOOKAUTOR:** `BookID, AutorID`
**BOOKRUBRIC:** `BookID, RubricID`
我想在返回BOOKNAME,名字,姓氏,RubricName一个SELECT查询语句来写。
我有两个单独的查询,但我不知道如何写在一个选择。 这是我的了:
SELECT book.BookName, autor.FirstName, autor.LastName FROM bookautor JOIN book ON book.BookID=bookautor.BookID JOIN autor on autor.AutorID=bookautor.AutorID;
SELECT rubric.RubricName FROM bookrubric JOIN rubric ON rubric.RubricID=bookrubric.RubricID;
它的工作不错,但如何在一个写选择?
我尝试这一点,但它不工作:
SELECT book.BookName, autor.FirstName, autor.LastName, rubric.RubricName FROM bookautor,bookrubric JOIN book ON book.BookID=bookautor.BookID JOIN autor on autor.AutorID=bookautor.AutorID LEFT JOIN rubric ON rubric.RubricID=bookrubric.RubricID;
它会返回错误:
ERROR 1054 (42S22): Unknown column 'bookautor.BookID' in 'on clause'
它的作品,谢谢你,但你可以请如果你能解释为什么'从bookautor'和为什么LEFT JOIN? – Nevada