Я думаю, что вы хотите not exists
:
select sa.*
from surgical_appointment sa
where not exists (select 1
from surgical_appointment saa
where saa.patient_id = sa.patient_id and
saa.status = 'SCHEDULED'
);
Таким образом, вы не будете получать по расписанию patient
с. Если вы хотите указать c пациента, добавьте фильтр с предложением where
.