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

解决方案 »

  1.   

    -- 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;
      

  2.   

    谢谢!就差这句 ROW_NUMBER() OVER(PARTITION BY BR.CNO ORDER BY BO.PRICE DESC) RN