SQL嵌套查询作业
鉴于: 保险公司cid、姓名、电话、地址 医生姓名、专业、地址、电话、年龄、cid 患者pid、姓名、地址、电话、年龄、性别、cid 访问视频、did、pid、日期、描述 其中:SQL嵌套查询作业,sql,nested-query,Sql,Nested Query,鉴于: 保险公司cid、姓名、电话、地址 医生姓名、专业、地址、电话、年龄、cid 患者pid、姓名、地址、电话、年龄、性别、cid 访问视频、did、pid、日期、描述 其中: cid - Insurance Company code did - doctor code pid - patient code vid - code of visit 还有一项任务:找到医生,用这一年的就诊次数命名,比这一年所有医生的平均就诊次数少 我的尝试是: SELECT D.did, D. name FR
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)
非常感谢Bridge,他分享了visualator有史以来最漂亮、用户最频繁的SQL命令 数据库示例: 使用视图的解决方案:
CREATE VIEW ThisYear AS
SELECT v.pid,v.vid,v.did
FROM Visits v
WHERE v.date LIKE '%2012';
CREATE VIEW DoctorsVisitCount AS
SELECT v.did, COUNT(v.vid) as c
FROM ThisYear v
GROUP BY v.did;
SELECT DISTINCT d.did,d.dname,dvc.c
FROM Doctors d,DoctorsVisitCount dvc
WHERE dvc.c < (SELECT AVG(dvc.c)
FROM DoctorsVisitCount dvc);
与其问我们,不如创建一些示例数据并进行测试!但是不,首先,这不是测试日期的年份组件的正确方法,括号不匹配,CV在使用它的第一个位置不存在,并且每个医生都会返回多行。另外,您正在使用哪个数据库?嵌套查询的SQL语法有一些小的变化。我真希望我能做到这一点!但我下载了SQLServer2012,它太先进了,我甚至无法使用它。。。它甚至不允许我登录自己的电脑!据我所知,我们使用SQL1999@BenjaminGruenbaum更简单的方法是使用@OfekRon,一旦你开始使用一些查询,你可以在这里共享到它的链接,其他人可以直接使用你的示例代码,而无需自己设置任何内容。