日期:2014-05-17  浏览次数:21010 次

求最高价格书的书名与价格sql
CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级
BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数 
BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期
输出每个人借阅最高价格图书的书名与价格?

------解决方案--------------------
SQL code
-- TRY IT ..
SELECT CA.NAME, BB.BNAME, BB.PRICE
  FROM CARD CA,
       (SELECT *
          FROM (SELECT BR.CNO,
                       BO.BNAME,
                       BO.PRICE,
                       ROW_NUMBER() OVER(PARTITION BY BR.CNO ORDER BY BO.PRICE DESC) RN
                  FROM BOOKS BO, BORROW BR
                 WHERE BO.BNO = BR.BNO) RR
         WHERE RN = 1) BB
 WHERE CA.CNO = BB.CNO;