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:啊,我写了
,但表名是
。请再试一次。