【发布时间】:2014-05-20 12:50:47
【问题描述】:
好的,这是我的数据库
Patient(PatID, GName, FName, Suburb, PhNo InsurNo)
Doctor(DocID, DocName, DocSpec, Cost)
Appointment(AppID, AppTimeDate, PatID*, DocID*)
Meds(MedID, MedName, Purpose, Admin, AppID*)
Tests(TestID, TestName, TestResult, TestDate, PatID*)
DocPat(PatID*, DocID*)
我被要求显示所有预约总费用高于平均水平的医生姓名。
到目前为止我有:
SELECT d.DocName, sum((NO_OF_APPS)*DocCost)
from doctor d, (select count(AppID) as NO_OF_APPS
from appointment
group by DocID)
group by DocName;
尝试使用 sum(count(appID)*DocCost) 我知道我是从错误的角度来的,有人能解释一下吗?
已进行纠正调整:
SELECT d.DocName, d.docCost*COUNT(ap.AppID) as totalCost
from doctor d
left join appointment ap on ap.DocID=d.DocID
GROUP BY d.DocID
ORDER BY d.DocName
HAVING totalCost > AVG(totalCost);
收到'00933。 00000 - Oracle SQL developer V4 上的“SQL 命令未正确结束”
【问题讨论】:
-
问号你使用的数据库正确,不是全部
标签: mysql sql sql-server database ms-access