- •20. Пациент (КодПац, фиоПац, Категория, ДатаРожд) – справочник пациентов,
- •3. Блюдо (КодБл, НазвБл, Категория) – справочник блюд;
- •5. Блюдо (КодБл, НазвБл, Категория);
- •23. Пациент (КодПац, фиоПац, Категория, ДатаРожд)
- •16. Извлечь номера и фио студентов, сдавших в точности те предметы, которые сдал Иванов. Упорядочить в обратном алфавитном порядке.
- •27. Пациент (КодПац, ФиоПац, Категория, ДатаРожд);
- •33. Изделие (КодИзд, НазвИзд, Вид, Стоимость)
- •35. Изделие (КодИзд, НазвИзд, Вид, Стоимость)
20. Пациент (КодПац, фиоПац, Категория, ДатаРожд) – справочник пациентов,
Врач (КодВрача, ФИОВрача, Спец, Стаж) – врачей,
Прием (КодПац, КодВрача, ДатаВремя, Кабинет) – прием пациента врачом.
Извлечь пациентов, посетивших врача в текущем году, и врачей, принявших пациентов тоже в текущем году. Рез-тат д. содержать: «код» (пациента/врача); «ФИО»; «тип» (“пациент”/”врач”); «приемов» (число приемов у пациента/врача). Упор-ть по типам, затем – по ФИО.
Select КодПац as Код,
ФИОПац as ФИО,
“пациент” as Тип,
count(КодВрача) as приемов
From Пациент inner join Прием
On (Пациент.КодПац=Прием.КодПац)
Where КодПац in (
Select КодПац
From Прием
Where ДатаВремя=2005)
Group by КодПац, ФИОПац
Union
Select КодВрача as Код,
ФИОВрача as ФИО,
“врач” as Тип,
count(КодПац) as приемов
From Врач inner join Прием
On (Врач.КодВрача=Прием.КодВрача)
Where КодВрача in (
Select КодВрача
From Прием
Where ДатаВремя=2005)
Group by КодВрача, ФИОВрача
Order by Тип, ФИО;
3. Блюдо (КодБл, НазвБл, Категория) – справочник блюд;
Продукт (КодПрод, НазвПрод, Калорийность) – справочник продуктов;
Рецепт (КодБл, КодПрод, КолПродВБл) – сколько данного продукта в данном блюде.
Извлечь коды и названия всех блюд, для которых либо вовсе не указаны входящие в него продукты, либо указан всего один продукт, причем такой, что калорийность его ниже 50 ед. Результат упорядочить по названиям блюд.
Select КодБл, НазвБл
from Блюдо
where КодБл not in (
select КодБл
from Рецепт)
or КодБл in
(select КодБл,
count(КодПрод) as Кол
from Рецепт
Group By КодБл
Having count(КодПрод)=1
and КодПрод in
(select КодПрод
from Продукт
where
Калорийность<50));
5. Блюдо (КодБл, НазвБл, Категория);
Продукт (КодПрод, НазвПрод, Калорийность);
Рецепт (КодБл, КодПрод, КолПродВБл).
Извлечь статистику уровней калорийности продукта: уровень калорийности, количество продуктов, имеющих эту калорийность, количество блюд, содержащих продукт этой калорийности. Не учитывать продукты, названия которых начинаются на «А» и блюда категории «Б». Упорядочить по убыванию.
Select Калорийность,
Count(distinct Прод.КодПрод) as КолПрод
Count(distinct Бл.КодБл) as КолБл
From Блюдо, Продукт, Рецепт
Where
(Прод.КодПрод=Рецепт.КодПрод)
And (Бл.КодБл=Рецепт.КодБл)
And Прод.КодПрод not in (
Select Прод.КодПрод
From Продукт
Where НазвПрод Like ‘А%’)
And Бл.КодБл not in (
Select КодБл
From Блюдо
Where категория=’Б’)
Group by Калорийность
Order by Калорийность desc;