嗨,有人可以幫我解決這個問題。我花了年齡試圖找出什麼我做錯了,但沒有運氣SQL多表查詢
表
- 出版商(PUBLISHERNAME,位置,noOftitles)
- 作者(名稱,位置)
- 書(書名,ISBN,成本,AUTHORNAME,PUBLISHERNAME)
問題
編寫一條SQL命令,以針對具有多個作者的每個發佈者,發佈者的名稱,發佈者的位置以及發佈者銷售的圖書的平均成本顯示。
代碼:
SELECT Book.publishername, location, avg(cost)
FROM Publisher
, Book
WHERE Publisher.publisherName = Book.publisherName
GROUP
BY publisherName
HAVING COUNT (DISTINCT authorname) >1
錯誤
ORA-00918:列定義的含糊
正確答案:
SELECT Publisher.publisherName, Publisher.location, avg(cost)
FROM Publisher, Book
WHERE Publisher.publisherName = Book.publisherName
GROUP BY Publisher.PublisherName, Publisher.Location
HAVING COUNT (DISTINCT authorname) >1;
您使用的是什麼RDBMS?這是功課嗎? – Dan
@丹。看起來像Oracle,從錯誤代碼。 – Shiva
@Shiva那簡單明瞭就顯得太有道理了。 :) – Dan