Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL嵌套查询作业_Sql_Nested Query - Fatal编程技术网

SQL嵌套查询作业

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、姓名、电话、地址

医生姓名、专业、地址、电话、年龄、cid

患者pid、姓名、地址、电话、年龄、性别、cid

访问视频、did、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)

非常感谢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,一旦你开始使用一些查询,你可以在这里共享到它的链接,其他人可以直接使用你的示例代码,而无需自己设置任何内容。