4
考虑:SQL嵌套查询作业
InsuranceCompanies(CID,姓名,电话,地址)
医生(做,名称,专业,地址,电话,年龄,CID)
患者(的pid,姓名,地址,电话,年龄,性别,CID)
访问(VID,的确,PID,日期,描述)
其中:
cid - Insurance Company code
did - doctor code
pid - patient code
vid - code of visit
和任务:在这一年找医生检查(做,名)用的次数(次数)小于平均数访问的今年所有的医生。
我的尝试是:
SELECT D.did, D. name
FROM Doctor D,Visit V
WHERE V.did = D.did and D.did = CV.did and CV.visits <
(SELECT AVG (CV.visits)
FROM (SELECT V1.did AS did,COUNT(V1.vid) AS visits
FROM Visit V1
WHERE V1.date LIKE '%2012'
GROUP BY V1.did) AS CV)
而不是问我们,你应该创建一些示例数据,并测试一下吧!但是,不,一开始这不是测试日期年份组件的正确方法,您的括号不匹配,CV在您使用它的第一个位置不存在,并且您将返回多于一行每个医生。你还使用哪个数据库?嵌套查询的SQL语法有很小的变化。 – Rup 2012-04-25 08:32:09
我真的希望我能做到这一点!但我下载了SQL Server 2012及其高级版本,甚至无法使用它......它甚至不允许我登录自己的计算机! – 2012-04-25 08:34:41
据我所知我们使用SQL 1999 – 2012-04-25 08:36:00