[英]SELECT many to many tables in one query
我有桌子:
**RUBRIC:** `RubricID, RubricName`
**AUTOR:** `AutorID, FirstName, LastName`
**BOOK:** `BookID, BookName, book_photo`
**BOOKAUTOR:** `BookID, AutorID`
**BOOKRUBRIC:** `BookID, RubricID`
我想寫一個返回BookName,FirstName,LastName,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'
試試這個查詢
SELECT book.BookName, autor.FirstName, autor.LastName, rubric.RubricName
FROM bookautor
JOIN book ON book.BookID=bookautor.BookID
JOIN autor on autor.AutorID=bookautor.AutorID
left join bookrubric on book.BookID=bookrubric.BookID
LEFT JOIN rubric ON rubric.RubricID=bookrubric.RubricID;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.