0

どの本が最も貸し出されているかを示すレポートを取得するためのクエリを作成しようとしています。実際の本を最も貸し出したいという質問がありますが、別の表にあるその本のタイトルを表示できるようにする必要があります。

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が必要です。

誰かが助けることができますか?

4

1 に答える 1

0

試す

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
于 2012-04-13T20:31:13.463 に答える