Как выбрать, какой врач не видел ни одного пациента? - PullRequest
0 голосов
/ 22 января 2020

В моей таблице посещений у каждого Доктора есть пациенты. Я пытался сделать это с делом, но это не работает.

SELECT DoctorID
    CASE 
    WHEN  COUNT(DISTINCT PatientID) = 0 THEN 'There is no doctor who hasn't admitted any patients. '
    ELSE 'There is no doctor who hasn't admitted any patients.
FROM Visits
GROUP BY DoctorID; 

Ответы [ 2 ]

1 голос
/ 22 января 2020

Я думаю, что вы хотите not exists. Если врач не видел пациентов, я бы не ожидал, что этот врач окажется за столом под названием visits. Итак:

select d.*
from doctors d
where not exists (select 1 from visits v where v.doctorid = d.doctorid);
0 голосов
/ 22 января 2020

Будет ли работать ниже?

SELECT DoctorID, count(DISTINCT PatientID) 
FROM VISITS
GROUP BY DoctorID
HAVING COUNT(DISTINCT PatientID) = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...