我從allbook表中檢索到以下資料,
Book Name copies
Book1 5
Book2 6
Book3 7
Book4 8
此外,我還有另一張桌子,issuedbooks我將這些書發給了一些學生。
Student BookName Issued Date
Ann Book1 5/20/2022
Mike Book1 5/21/2022
Micheal Book2 5/22/2022
John Book3 5/23/2022
現在我需要考慮這兩個表并獲得如下的可用性。
BookName AvailableCopies
Book1 3
Book2 5
Book3 6
Book4 8
有什么方法可以從 mysql 查詢中檢索它嗎?有人可以告訴我如何組合上面的兩個表格嗎?
uj5u.com熱心網友回復:
我們可以嘗試使用子查詢 get all count from issuedbooksthen do OUTER JOINbase allbookif BookNameonly exists fromallbook
SELECT ab.BookName,
ab.copies - coalesce(ib.cnt,0) AvailableCopies
FROM allbook ab
LEFT JOIN (
SELECT BookName,COUNT(*) cnt
FROM issuedbooks
GROUP BY BookName
) ib
ON ab.BookName = ib.BookName
sqlfiddle
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/482507.html
