SQL查询-需要从不同的表中获取信息
我试图写一个查询,以得到一个报告,显示哪本书被借出最多。我有一个查询来获取借出最多的实际图书,但我需要能够显示该图书的标题,它位于另一个表中SQL查询-需要从不同的表中获取信息,sql,join,count,max,Sql,Join,Count,Max,我试图写一个查询,以得到一个报告,显示哪本书被借出最多。我有一个查询来获取借出最多的实际图书,但我需要能够显示该图书的标题,它位于另一个表中 SELECT * FROM LOAN; LOANID BOOKID CUSTID OUTDATE INDATE DUEDATE SELECT * FROM BOOK; AUTHORID BOOKID BKISBN BKSTATUS BKTITLE BKSERIES BKTYPE BKNUMBER
SELECT * FROM LOAN;
LOANID BOOKID CUSTID OUTDATE INDATE DUEDATE
SELECT * FROM BOOK;
AUTHORID BOOKID BKISBN BKSTATUS BKTITLE BKSERIES BKTYPE BKNUMBER
以下查询是我到目前为止的查询,正在获取bookid:
SELECT Q1.* FROM
(SELECT BOOKID, COUNT(*)
AS BOOK_COUNT
FROM LOAN
GROUP BY LOAN.BOOKID) Q1,
(SELECT MAX(Q2.BOOK_COUNT)
AS HIGH_COUNT
FROM (SELECT BOOKID, COUNT(*)
AS BOOK_COUNT
FROM LOAN
GROUP BY LOAN.BOOKID) Q2) Q3
WHERE Q1.BOOK_COUNT = Q3.HIGH_COUNT;
结果:
BOOKID BOOK_COUNT
---------- ----------
387 3
现在我需要书桌上的书名
有人能帮忙吗?试试看
select b.bookid, b.BKTITLE , count(l.loanid) as cnt_loan
from book b
inner join loan l on l.bookid = b.bookid
WHERE ROWNUM < 2
group by b.bookid
order by cnt_loan desc
选择b.bookid、b.BKTITLE、count(l.loanid)作为cnt\U贷款
b书
l.bookid=b.bookid上的内部联接贷款l
其中ROWNUM<2
按b.bookid分组
cnt_贷款说明订购
欢迎使用StackOverflow:如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮({}
),以精确地格式化和语法突出显示它!您使用的数据库引擎是什么?我使用的是Oracle SQL Plus。上面的代码也不起作用,ORA-00923:FROM关键字未找到在哪里expected@ReneCanter:如果您正在使用Oracle,请尝试我的更新答案。谢谢您的帮助。我已经离开SQL很多年了,所以我基本上是重新开始。当我使用更新时,我得到ORA-00942:表或视图没有exist@ReneCanter:啊,我写了书
,但表名是书
。请再试一次。