mysql新手,无法理解
我需要找出如何做到这一点 对于整个图书馆系统(而不仅仅是一个分支机构)中的每一本超过17份或少于5份的书,显示标题和总份数作为总份数 书号、书名 图书副本图书id、分行id、无副本 图书馆、分馆、分馆id、分馆名称、地址 我无法理解如何做到这一点,我是否需要使用子查询或普通单行查询 请帮我理解mysql新手,无法理解,mysql,select,join,Mysql,Select,Join,我需要找出如何做到这一点 对于整个图书馆系统(而不仅仅是一个分支机构)中的每一本超过17份或少于5份的书,显示标题和总份数作为总份数 书号、书名 图书副本图书id、分行id、无副本 图书馆、分馆、分馆id、分馆名称、地址 我无法理解如何做到这一点,我是否需要使用子查询或普通单行查询 请帮我理解 SELECT BOOK.book_id, BOOK.title, SUM(no_of_copies) FROM BOOK_COPIES INNER JOIN BOOK ON BOOK_COPIES.b
SELECT BOOK.book_id, BOOK.title, SUM(no_of_copies)
FROM BOOK_COPIES
INNER JOIN BOOK ON BOOK_COPIES.book_id=BOOK.book_id
GROUP BY BOOK_COPIES.book_id
HAVING SUM(no_of_copies)<5 OR SUM(no_of_copies)>17
这就是它的作用
它首先检查您的BOOK_COPIES表,并根据所有图书的图书id汇总所有图书的拷贝数,然后从BOOK table附加标题,最后检查拷贝数是否小于5或大于17,然后返回所有此类结果
请阅读这里的相关内容,它们非常有趣,也很有帮助。SQL连接应该可以在这里工作。 使用您熟悉的任何语言,并将图书ID列表推送到第二个查询中
SELECT
`book_id`,
`title`
FROM `BOOK`
WHERE `book_id` IN (/* List of book ids from first query */)
例如:
WHERE `book_id` IN (123, 345, 678, 901)
使用连接,阅读有关连接使用以下链接[链接]感谢4链接,它很有帮助!很好,只需选择BOOK.BOOK\u id,但你能给我解释一下吗。。。?真是帮了大忙…谢谢你,伙计!非常感谢!
SELECT
`book_id`,
`title`
FROM `BOOK`
WHERE `book_id` IN (/* List of book ids from first query */)
WHERE `book_id` IN (123, 345, 678, 901)