以上是我的表架構。我的任務是編寫一條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沒問題,我只是認爲問題的作者和解決方案非常接近,他不需要詳細的解釋。 –