FROM Patients, Doctors, Doct_pati;
WHERE;
year(Patients.Год_рождения) > val(ThisForm.Text1.Value) AND;
Doct_pati.id_patient = Patients.id_patient AND Doct_pati.id_doctor = Doctors.id_doctor;
GROUP BY Doctors.Фамилия;
HAVING количество_больных >= 1
Результат запроса (1960):
Запрос №13
Найти фамилии врачей, лечащих пациентов в больнице
Текст запроса:
SELECT Distinct Doctors.Фамилия, Doctors.Имя, Doctors.Отчество, Doctors.Телефон;
FROM Doctors, Patients, Doct_pati;
WHERE;
Doct_pati.id_doctor = Doctors.id_doctor
Результат запроса:
Запрос №14
Найти фамилии пациентов, родившихся после заданного года рождения.
Текст запроса:
select *;
from Patients;
where (year(год_рождения)) > Val(ThisForm.Text1.Value)
Результат запроса (1960):
Запрос №15
Найти фамилии пациентов, лечащихся более чем у одного врача.
Текст запроса:
SELECT Patients.Фамилия, Patients.Имя, Patients.Отчество, Count(Doct_pati.id_patient) as "количество_врачей";
FROM Patients, Doctors, Doct_pati, Detachment;
WHERE;
Patients.Отделение = Detachment.id_detach AND;
Doct_pati.id_patient = Patients.id_patient AND Doct_pati.id_doctor = Doctors.id_doctor;
GROUP BY Doct_pati.id_patient;
HAVING количество_врачей > 1
Результат запроса:
Запрос №16
Найти фамилии врачей, все пациенты которых родились до заданного года рождения (ввод с клавиатуры произвольного года рождения)
Текст запроса:
SELECT Doctors.Фамилия, Doctors.Имя, Doctors.Отчество, Doctors.Телефон, Count(Doctors.Фамилия) as "количество_больных";
FROM Patients, Doctors, Doct_pati;
WHERE;
year(Patients.Год_рождения) < val(ThisForm.Text1.Value) AND;
Doct_pati.id_patient = Patients.id_patient AND Doct_pati.id_doctor = Doctors.id_doctor;
GROUP BY Doctors.Фамилия;
HAVING количество_больных >= 1
Результат запроса (1960):
Запрос №17
Найти фамилии врачей, которые не лечат пациента заданной (выбор) фамилии.
Текст запроса:
SELECT Distinct Doctors.Фамилия, Doctors.Имя, Doctors.Отчество, Doctors.Телефон;
FROM Doctors, Patients, Doct_pati;
WHERE;
Doctors.Фамилия not in (;
SELECT Doctors.Фамилия;
FROM Doctors, Patients, Doct_pati;
WHERE;
Patients.Фамилия = ThisForm.Combo1.Value AND Patients.id_patient = Doct_pati.id_patient AND;
Doct_pati.id_doctor = Doctors.id_doctor);
Результат запроса (Сергеев):
Запрос №18
Для заданного (выбор) врача найти пациентов, которым назначено заданное (выбор) лекарство заданной (выбор) фирмы.
Текст запроса:
SELECT Patients.Фамилия, Patients.Имя, Patients.Отчество, Patients.Год_рождения, Patients.Диагноз, Detachment.название as Отделение, Patients.Палата, Patients.Койка;
FROM Drugs, Patients, Companies, Detachment, Drug_Comp, Pati_Drug, Doctors, Doct_pati;
WHERE;
Drug_Comp.id_company = Companies.id_company AND Companies.название = ThisForm.Combo2.Value AND;
Drug_Comp.id_drug = drugs.id_drug AND drugs.название = ThisForm.Combo3.Value AND;
Pati_Drug.id_patient = Patients.id_patient AND Patients.Отделение = Detachment.id_detach AND;
Pati_Drug.id_drug = Drugs.id_drug AND Doctors.id_doctor = Doct_pati.id_doctor AND Doctors.Фамилия = ThisForm.Combo1.Value AND;
Doct_pati.id_patient = Patients.id_patient
Результат запроса (Глазычева, Фармаком, Бензилпенициллиновая натриевая соль):
Формы редактирования данных
Все формы для облегчения создания БД сконструируем в мастере
Выводы:
В процессе проектирования РГР были получены и закреплены знания по SQL-запросам, а также многотабличном связывании. Была сделана удачная попытка в проектировании структуры БД и созданы формы для облегчения ввода/редактирования данных пользователем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.