Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы к экзамену / Билеты (задача 5) - решения.doc
Скачиваний:
45
Добавлен:
02.05.2014
Размер:
74.24 Кб
Скачать

23. Пациент (КодПац, фиоПац, Категория, ДатаРожд)

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

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

Извлечь статистику посещений: категория пациентов, количество приемов пациентов этой категории, количество врачей принявших пациентов этой категории. Не учитывать пациентов, родившихся до 1 января 1983 года и врачей со стажем менее 1 года. Упорядочить по категориям.

Select Пац.Категория,

Count(distinct Пац.КодПац) as КолПац

Count(distinct Вр.КодВр) as КолВр

From Пац, Прием, Врач

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

And (Прием.КодВр=Вр.КодВр)

And Пац.КодПац not in (

Select Пац.КодПац

From Пац

Where ДатаРож < 01.01.1983)

And Врач.КодВр not in (

Select Врач.КодВр

From Врач

Where Стаж <1)

Group by Пац.Категория

Order by Пац.Категория;

16. Извлечь номера и фио студентов, сдавших в точности те предметы, которые сдал Иванов. Упорядочить в обратном алфавитном порядке.

Select КодСт, ФИОСт

From Студент

Where not exists (

Select *

From Успеваемость

Where КодСт in (

Select КодСт

From Студент

Where ФИО=’Иванов’

And Спец=’АСУ’

And Группа=’347’)

And КодПред not in (

Select КодПред

From Успеваемость

Where

Успев.КодСт=Пред.КодСт))

And not exists (

Select *

From Успеваемость

Where КодСт in (

Select КодСт

From Успеваемость

Where

Успев.КодСт=Пред.КодСт)

And КодПред not in (

Select КодПред

From Успеваемоть

Where КодСт In (

Select КодСт

From Студент

Where ФИО=’Иванов’

And Спец=’АСУ’

And Группа=’347’)));

Билет не помню. Извлечь номера и названия блюд, не содержащих в количестве более 100 ед. ни одного продукта, которые содержит блюдо "Солянка Уфимская".

Блюдо (ном_бл, назв_бл, категория) – справочник блюд;

Продукт (ном_прод; назв_прод, калорийность) – справочник продуктов;

Рецепт (ном_бл, ном_пр, кол_прод_в_блюде) – сколько некоторого продукта в некотором блюде.

SELECT ном_бл, назв_бл

FROM Блюдо

WHERE NOT EXISTS (

SELECT ном_пр (или можно *)

FROM Рецепт

WHERE кол_прод_в_блюде > 100

AND

рецепт.ном_бл=блюдо.ном_бл

AND

ном_пр IN (

SELECT ном_пр

FROM блюдо, рецепт

WHERE

рецепт.ном_бл=блюдо.ном_бл

AND

назв_бл='Солянка Уфимская'));

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