目標:想要顯示書籍、書籍喜歡計數、作者和作者喜歡計數。

-- books: start
SELECT * FROM books
-- likes: get like count of books
JOIN likes ON likes.id = books.likes_id
-- merge table: join to book
JOIN authors_books ON books.id = authors_books.book_id
-- authors: join merge table
JOIN authors ON authors.id = authors_books.author_id
-- likes: get like count of authors
JOIN ????????

我被作者喜歡所困。而不是 likes_id:我想要 likes_count(請參閱 RESULTS GRID 影像)。
我試過了:
加入喜歡 AS l2 ON likes.id = authors.likes_id
沒有運氣。在頂部顯示所有正確的列資訊,但輸出為空白。
uj5u.com熱心網友回復:
你必須加入likes兩次,一次是為了書,一次是為了作者。
由于您使用同一張表加入,因此您需要給它們起別名以區分它們。
SELECT books.id, books.title, books.pages, book_likes.count AS book_likes,
authors.first_name, author.last_name, author_likes.count AS author_likes
FROM books
JOIN likes AS book_likes ON book_likes.id = books.likes_id
JOIN authors_books ON books.id = authors_books.book_id
JOIN authors ON authors.id = authors_books.author_id
JOIN likes AS author_likes ON author_likes.id = authors.likes_id
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/427359.html
標籤:mysql
上一篇:MySQL或可能為空的兩列的條件
