在我的数据库中,没有任何医生没有看过任何病人,所以我想在第一栏中添加文字“没有医生没有收治任何病人”。
SELECT d.FistName + ' ' + d.LastName as 'Doctors who has not admitted any patients
COUNT(w.PatientID) as [Patient count]
FROM Doctors d
left join Visits v on d.DoctorID=w.DoctorID
GROUP BY d.FistName + ' ' + d.LastName HAVING COUNT(DISTINCT PatientID) = 0;
不确定您要问的是什么,但是如果您想找到没有患者的医生,这就是我写您的查询的方式:
select
<some stuff>
from
doctors d
left join visits v
on v.doctorid = v.doctorid
where
v.doctorid is null
这将从您的Doctors表中获取所有记录,这些记录在visits表中没有任何匹配项,不需要任何汇总。这是一个非常标准的模式。您也可以执行not exists
类型查询。