SELECT Illness.illnessName, Year([Objects]!ComingInDate) AS [Год обращения], Count(patient.PatientID) AS Муж, MonthName(Month([Objects]!ComingInDate)) AS [Название месяца]
FROM Illness INNER JOIN (patient INNER JOIN Objects ON patient.PatientID = Objects.PatientID) ON Illness.illnessID = Objects.ilnessID
GROUP BY Illness.illnessName, Year([Objects]!ComingInDate), MonthName(Month([Objects]!ComingInDate)), patient.Sex
HAVING (((Illness.illnessName)=[название болезни]) AND ((patient.Sex)="муж") AND ((Year([Objects]![ComingInDate]))=Year(Date())-1));
Запрос 2. Вывести статистику заболеваемости определенной болезнью по возрастным группам за прошедший год.
Для составления данного запроса составим четыре вспомогательных запроса: первые три будут выделять количество заболевших по каждой из трех выделенных возрастных групп (до 30, от 30 до 55, старше 55) четвертый запрос – запрос, объединяющий информацию, полученную из первых трех в единый запрос.
Вспомогательные запросы.
Запрос2(Молод)
SELECT Illness.illnessName AS [Название болезни], Count(patient.PatientID) AS Молодые, Sin(0) AS Средние, Sin(0) AS Старые, Year(Objects!ComingInDate) AS [Год обращения]
FROM patient INNER JOIN (Illness INNER JOIN Objects ON Illness.illnessID=Objects.ilnessID) ON patient.PatientID=Objects.PatientID
GROUP BY Illness.illnessName, Sin(0), Sin(0), Year(Objects!ComingInDate), Year(Date())-Year(patient!Birthdate)
HAVING (((Illness.illnessName)=[название болезни]) And ((Year(Date())-Year(patient!Birthdate))<30) And ((Year(Objects!ComingInDate))=Year(Date())-1));
Запрос2(Средн)
SELECT Illness.illnessName, Count(patient.PatientID) AS Средние, Sin(0) AS Старые, Sin(0) AS Молодые, Year([Objects]!ComingInDate) AS [Год обращения]
FROM patient INNER JOIN (Illness INNER JOIN Objects ON Illness.illnessID = [Objects].ilnessID) ON patient.PatientID = [Objects].PatientID
GROUP BY Illness.illnessName, Sin(0), Sin(0), Year([Objects]!ComingInDate), Year(Date())-Year(patient!Birthdate)
HAVING (((Illness.illnessName)=[название болезни]) AND ((Year(Date())-Year([patient]![Birthdate]))>=31 And (Year(Date())-Year([patient]![Birthdate]))<55) AND ((Year([Objects]![ComingInDate]))=Year(Date())-1));
Запрос2(Стар)
SELECT Illness.illnessName, Count(patient.PatientID) AS Старые, Sin(0) AS Средние, Sin(0) AS Молодые, Year(Objects!ComingInDate) AS [Год обращения]
FROM patient INNER JOIN (Illness INNER JOIN Objects ON Illness.illnessID=Objects.ilnessID) ON patient.PatientID=Objects.PatientID
GROUP BY Illness.illnessName, Sin(0), Sin(0), Year(Objects!ComingInDate), Year(Date())-Year(patient!Birthdate)
HAVING (((Illness.illnessName)=[название болезни]) And ((Year(Date())-Year(patient!Birthdate))>=55) And ((Year(Objects!ComingInDate))=Year(Date())-1));
Запрос2Un – объединяющий запрос.
select [Название болезни],[Молодые],[Средние] ,[Старые],[Год обращения]
from [Запрос2(Молод)]
union
select [illnessName],[Старые] ,[Средние],[Молодые],[Год обращения]
from [Запрос2(Средн)]
UNION select [illnessName],[Молодые],[Средние] ,[Старые],[Год обращения]
from [Запрос2(Стар)];
Запрос2 – итоговый запрос, выводящий требуемую статистику.
SELECT Запрос2Un.[Название болезни], Sum(Запрос2Un.Молодые) AS [Молодой возраст], Sum(Запрос2Un.Средние) AS [Средний возраст], Sum(Запрос2Un.Старые) AS [Пожилой возраст], Запрос2Un.[Год обращения]
FROM Запрос2Un
GROUP BY Запрос2Un.[Название болезни], Запрос2Un.[Год обращения];
Запрос3. Выявить самые распространенные заболевания за прошедший год, подсчитав для каждого из них количество заболевших.
SELECT Illness.illnessName, Count([Objects].ilnessID) AS [Количество обратившихся], Year([Objects]!ComingInDate) AS [Год обращения]
FROM patient INNER JOIN (Illness INNER JOIN Objects ON Illness.illnessID = [Objects].ilnessID) ON patient.PatientID = [Objects].PatientID
GROUP BY Illness.illnessName, Year([Objects]!ComingInDate)
HAVING (((Year([Objects]![ComingInDate]))=Year(Date())-1));
Запрос 4. Определить загруженность врача-терапевта по месяцам, подсчитав количество обратившихся.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.