我不知道如何說這個,所以這個問題可能看起來模糊。我會盡我所能來描述我遇到的問題。MYSQL - 如何去做一個加入與子選擇加入
我有3個表:
LibraryRepairEvent
MemberBorrowsBook
Book
這是LibraryRepairEvent的樣子:
這是MemberBorrowsBook的樣子:
這是如何博OK的樣子:
我所試圖做的是在那裏所有的事件,我想找到誰提出的最捐款組織者並獲取從書籍表方面的一些信息。
這是我到目前爲止有:
SELECT *
FROM Book bk
JOIN (SELECT b.bookID, SUM(lre.donationsCollected) as maxDonations
FROM Book b
JOIN MemberBorrowsBook mbb
ON b.bookID = mbb.bookID
LEFT JOIN LibraryRepairEvent lre
ON mbb.memberID = lre.organiserID
) a
ON bk.bookID = a.bookID
GROUP BY maxDonations
ORDER BY maxDonations DESC
但此查詢不作爲應該如何工作。基於我已經包含的截圖。它返回錯誤的信息。
基於該示例,LibraryRepairEvent顯示organiserId [email protected]籌集的金額最高(合計900的捐款)。現在,它將通過使用memberID上的聯接來查看MemberBorrowsBook表以獲取bookID。所以在這裏,我將有45441和45651作爲bookID,然後將被帶到Book表。所以現在最終的結果應該是這些ID的細節,但我收到了錯誤的數據。
請問我是否不確定任何事情。
你的'group by'看起來不對我 – Rahul
預期結果是什麼? –
我的理解正確嗎?你想找到最「成功」的活動組織者借的書嗎? [有點奇怪的要求,是不是?] –