以上是我的表架构。我的任务是编写一条SQL命令,为每个发布者显示发布者的名称,发布者的位置以及发布者销售的图书的平均成本。我有一个主要工作查询:
SELECT Publisher.name, Publisher.location,
(SELECT AVG(Book.cost)
FROM (Book
INNER JOIN Publisher
ON Book.publisherName = Publisher.name)
WHERE Book.publisherName = Publisher.name
) bookAverage FROM Book
INNER JOIN Publisher ON Book.publisherName = Publisher.name;
的问题是,它返回的所有书籍在Books
表中的平均水平。我怎样才能改变这一点,只返回与每个出版商相关的书籍的平均成本?
下面是与模式的小提琴已经实现了:
http://sqlfiddle.com/#!9/7a9909/11/0
这个答案出现在低质量的审查队列中,大概是因为你没有提供任何代码的解释。如果此代码回答此问题,请考虑添加一些文字,说明答案中的代码。这样,你就更有可能获得更多赞扬 - 并帮助提问者学习新东西。 – lmo
@Imo没问题,我只是认为问题的作者和解决方案非常接近,他不需要详细的解释。 –