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

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

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

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

Извлечь коды и ФИО пациентов, не посетивших в текущем году ни одного врача из тех, которых посетил пациент Иванов С.П. Отсортировать результат в обратном направлении по коду

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

From Пациент

Where not exists (

Select *

From Прием, Врач

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

And (Прием.ДатаВремя=2005)

And КодПац in (

Select КодПац

From Пациент

Where ФИО=’Иванов С.П.’ ))

Order by КодПац desc;

33. Изделие (КодИзд, НазвИзд, Вид, Стоимость)

Деталь (КодДет, НазвДет, Вес, Цена)

Состав (КодИзд, КодДет, Количество)

Извлечь сведения об изделиях, у которых суммарная цена используемых деталей по крайней мере в 2 раза меньше стоимости изделия: код, название, стоимость, суммарное число деталей, суммарная цена деталей.

Select КодИзд, НазвИзд, Стоим,

Sum(Состав.Кол.) As СумКол,

Sum(Деталь.Цена.) As СумЦен

From Изделие, Деталь, Состав

Where Изд.КодИзд=Сост.КодИзд

And Дет.КодДет=Сост.КодДет

Group by КодИзд, НазвИзд, Стоим

Having Sum (Дет.Цена)*2<=(

Select стоим

From изделие);

35. Изделие (КодИзд, НазвИзд, Вид, Стоимость)

Деталь (КодДет, Вес, НазвДет, Цена)

Состав (КодИзд, КодДет, Количество)

Извлечь коды и названия деталей, которые исп-ся в кол-ве более 20 штук, по крайней мере во всех тех изделиях, в кот. исп-ся деталь «Шайба».

Select КодДет, НазвДет

From Деталь

Where КодДет in

(select КодДет

From Состав

Where Количество>20

And

Not exists (

select *

From Состав

Where КодДет in (

Select КодДет

From Деталь

Where НазвДет=”шайба”)

And КодИзд not in (

Select КодИзд

From Состав

Where Дет.КодДет=Состав.КодДет)));

Пример 1 билета. справочник поставщиков

Поставщик (КодПост, НазвПост, Статус, Город);

справочник товаров

Товар (КодТовара, НазвТовара, Вес, Цвет,Город);

поставка данным поставщиком данного товара

Поставка (КодПост, КодТовара, Количество).

Извлечь все пары поставщиков из одного города, такие, что статус второго поставщика не меньше статуса первого. Для каждого напарника указать код, название, статус. Для поставщиков, не имеющих пары, значения напарника – NULL. Рез-тат упорядочить по названиям поставщиков.

select x.КодПост, x.НазвПост, x.Статус,

y.КодПост, y.НазвПост, y.Статус

from Поставщик x left outer join Поставщик y

on (x.Город=y.Город

and x.Статус=y.Статус

and x.КодПост<>y.КодПост)

Order By x.НазвПост, y.НазвПост;

Пример 4 билета. справочник поставщиков

Поставщик (КодПост, НазвПост, Статус, Город);

справочник товаров

Товар (КодТовара, НазвТовара, Вес, Цвет,Город);

поставка данным поставщиком данного товара

Поставка (КодПост, КодТовара, Количество).

Извлечь сведения о поставщиках со средним кол-вом товаров в поставке выше 200: код, название, кол-во поставок и суммарное кол-во поставляемых товаров. Уп-ть по названиям.

Select Поставщик.НазвПост,

Поставщик.КодПост,

Count(Поставка.КодПост) as КолПост,

Sum(Количество) as Сумма

from Поставка inner join Поставщик

on (Поставка.КодПост=Поставщик.КодПост)

Group By КодПост, НазвПост

Having Avg(Количество)>200)

order by Поставщик.НазвПост;

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