我不知道如何说这个,所以这个问题可能看起来模糊。我会尽我所能来描述我遇到的问题。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
预期结果是什么? –
我的理解正确吗?你想找到最“成功”的活动组织者借的书吗? [有点奇怪的要求,是不是?] –