【发布时间】:2019-04-04 21:27:13
【问题描述】:
这是架构
- 作者(aID、fName、姓氏)
- 图书(isbn、标题、作者 ID、流派、pubYear、出版商、rrPrice、avgRating)
- bookShop(shopNo、shopName、街道、城市、县)
- 订单(orderNo、sNo、oDate、salesRep)
- 订单详情(oNo,bookISBN,数量)
这是查询:
SELECT
title, pubYear, quantity
FROM
book
INNER JOIN
orderDetails ON ISBN = bookisbn
WHERE
avgRating = (SELECT MIN(avgRating)
FROM orderDetails)
我正在尝试获得评分最低的书籍,但这会返回所有书籍
【问题讨论】:
-
orderDetails中没有avgRating字段?
-
orderDetails 中没有 avgRating 字段。它在书里。
-
@Zorkolot 不,应该先这样做而不是子查询?
-
请忽略我之前的评论。看来您正在寻找有关不同订单的 min(avgRating) 。这与“获得评分最低的书”不同。
-
我会指出,查询不一定给出评分最低的书。这个问题没有足够的信息。例如,最低评分可以由 Metacritic 确定,而不是由书店确定。您对已订购的图书的评分最低。您必须澄清这里描述的粒度。无论是曾经在书店订购过的书、曾经在书店订购过的任何书,还是书店中每个特定订单中评分最低的书,您都想要所有的书吗?