SQL查询 - 需要从不同的表中获取信息
我想写一个查询来获得一个报告,显示哪本书已经被借出最多。我有一个查询来获取最实际的图书,但我需要能够显示该书的标题,该书位于另一个表中。SQL查询 - 需要从不同的表中获取信息
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
现在我需要BkTitle从书籍表。
任何人都可以协助吗?
尝试
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
我正在使用Oracle SQL Plus。上面的代码也没有工作, – 2012-04-13 20:38:47
ORA-00923:在预期的地方找不到FROM关键字 – 2012-04-13 20:39:47
@ReneCanter:如果您使用的是Oracle,那么请尝试更新的答案。 – 2012-04-13 20:42:48
欢迎StackOverflow上:如果您发布的代码,XML或数据样本,** **请在高亮文本编辑器的线,然后单击“代码示例”按钮('{} ')在编辑器工具栏上进行恰当的格式化和语法突出显示! – 2012-04-13 20:28:41
您使用的是哪种数据库引擎? – 2012-04-13 20:32:56