相关疑难解决方法(0)

如何改进此查询以避免使用嵌套视图?

查找访问过与保险公司相关的所有骨科医生(专科)的患者.

数据库:单击此处查看SQL Fiddle中的示例数据脚本.

CREATE VIEW Orthos AS
SELECT  d.cid,d.did
FROM    Doctors d
WHERE d.speciality='Orthopedist';

CREATE VIEW OrthosPerInc AS
SELECT  o.cid, COUNT(o.did) as countd4i
FROM Orthos o
GROUP BY o.cid;

CREATE VIEW OrthoVisitsPerPat AS
SELECT v.pid,COUNT(o.did) as countv4d
FROM Orthos o,Visits v,Doctors d
WHERE o.did=v.did and d.did=o.did
GROUP BY v.pid,d.cid;

SELECT  p.pname,p.pid,p.cid
FROM  OrthoVisitsPerPat v, OrthosPerInc i,Patient p
WHERE i.countd4i = v.countv4d and p.pid=v.pid and p.cid=i.cid;

DROP VIEW IF EXISTS Orthos,OrthosPerInc,OrthoVisitsPerPat;
Run Code Online (Sandbox Code Playgroud)

我怎么能在一个查询上写它?

尝试:

到目前为止,我试图解决这个问题.

SELECT  p.pid,p.pname,p.cid,COUNT(v.did)
FROM Visits v 
JOIN …
Run Code Online (Sandbox Code Playgroud)

mysql sql

-4
推荐指数
1
解决办法
838
查看次数

标签 统计

mysql ×1

sql ×1