Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
02.05.2014
Размер:
115.2 Кб
Скачать

Билет 20

5) Пациент(КодПациента, ФИОПациента, Категория, ДатаРождения) – справочник пациентов;

Врач( КодВрача, ФИОВрача, Спец, Стаж) – справочник врачей;

Прием( КодПациента, КодВрача, ДатаВремя, Кабинет) – прием пациента врачом;

Извлечь пациентов посетивших врача в текущем году, и врачей, принявших пациентов тоже в текущем году. Результат должен содержать: 'код' (Пациента/ Врача), 'ФИО'(Пациента/Врача); 'тип'('Пациент'/'Врач'); 'приемов' (число приемов у пациента/врача). Упорядочить по типам, затем по ФИО.

РЕШЕНИЕ:

SELECT Пациент.КодПациента AS Код,

Пациент.ФИОПациента AS ФИО,

'Пациент' AS Тип,

COUNT (Прием.КодВрача) AS Прием

FROM Пациент INNER JOIN Прием

ON (Пациент.КодПациента=Прием.КодПациента)

WHERE Прием.ДатаВремя=2005

GROUP BY Прием.КодПациента

UNION

SELECT Врач.КодВрача AS Код,

Врач.ФИОВрача AS ФИО,

'Врач' AS Тип,

COUNT (Прием.КодПациента) AS Прием

FROM Врач INNER JOIN Прием

ON (Врач.КодВрача=Прием.КодВрача)

WHERE Прием.ДатаВремя=2005

GROUP BY Прием.КодВрача

ORDER BY Тип

ORDER BY ФИО;

Билет 21.

5. ???

Пациент (КодПац, ФИОПац, Катег, ДатаР)

Врач (КодВр, ФИОВр, Спец, Стаж)

Прием (КодПац, КодВр, Дата/Время, Кабинет)

Извлечь коды и ФИО пациентов категории «пенсионер», которые в текущем году либо не посещали врача-терапевта, либо посещали неоднократно врача-окулиста. Результат упорядочить по ФИОПац.

РЕШЕНИЕ:

Select КодПац, ФИОПац

From Пациент

Where Категория = «пенсионер»

And КодПац In (Select КодПац

From Прием

Where Дата/Время = 2005)

And КодПац In (Select КодПац

From прием

Where КодВр In (Select КодВр

From Врач

Where Спец<> «терапевт»

And Спец <> «окулист»)

Or КодВр= ???

(SELECT КодВр

From Прием

Group By КодПац, КодВр

Having count (КодВр)>1

And КодВр=???

(Select КодВр

FROM Врач

WHERE спец=’окулист’));

Сортировка????

Билет 22.

5. Пац (Код, ФИО, Катег, ДатР)

Врач (Код, ФИО, Спец, Стаж)

Прием (КодПац, КодВр, Дата Вр, Катег)

О враче-терапевте с загруженностью в январе месяце>0,75: код, ФИО, количество принятых пациентов. Загруженность=число/200. Не учитывать пациентов ???категории “сторонный”???(прочитала как смогла) . упорядочить по ФИО.

РЕШЕНИЕ:

SELECT Врач.КодВр, Вр. ФИОВр,

COUNT (Прием. КодПац)

FROM Врач INNER JOIN Прием

ON Врач.КодВр=Прием.КодВр

WHERE Врач.Спец=терапевт

and Прием. ДатаВр=’янв’

and Прием.КодПац not in

(SELECT КодПац

FROM Пац

WHERE Кат=’стор’)

GROUP BY Прием.КодВр

HAVING (count (Прием. КодПац)/200)>0.75

Билет 23

Соседние файлы в папке Материалы к экзамену