RDMBS: вложенный запрос Oracle является обязательным требованием.
Я пытаюсь собрать всех пациентов, которые были на приеме в марте 2014 года, а также показать, к какому врачу они обращались, и какой у них был диагноз. Затем отобразите идентификатор назначения, полное имя пациента, возраст, пол и телефон, а также отобразите полное имя и телефон врача. Я могу сделать большую часть этого, пока я не спрошу, какой диагноз был поставлен пациенту.
Этот код позволяет мне получить доступ к записям пациентов и врачей за март 2014 года:
Select Appointment.appointmentid, patient.surname ||','|| patient.given as Patient, trunc(((sysdate-patient.dob)/365),0) as Patient_Age, patient.phonehome as Patient_Contact, doctor.Surname ||','|| doctor.given as Doctor, doctor.phone as Doctor_Contact
from doctor, patient, appointment
where doctor.doctorid=appointment.doctorid
and patient.patientid=appointment.patientid
and extract(month from dateofappointment) = '03'
and extract(year from dateofappointment) = '2014';
Но как только я помещаю вложенный запрос на диагностику, я получаю ошибки.
код:
Select Appointment.appointmentid, patient.surname ||','|| patient.given as Patient, trunc(((sysdate-patient.dob)/365),0) as Patient_Age, patient.phonehome as Patient_Contact, disease.name as Diagnosis, doctor.Surname ||','|| doctor.given as Doctor, doctor.phone as Doctor_Contact
from doctor, patient, appointment
where disease.name in (select disease.name
from disease
where disease.diseaseid=diagnosed.diseaseid
and diagnosed.appointmentid=appointment.appointmentid)
and doctor.doctorid=appointment.doctorid
and patient.patientid=appointment.patientid
and extract(month from dateofappointment) = '03'
and extract(year from dateofappointment) = '2014';
Любые исправления или советы будут оценены.