Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запросы.Агрегатные функции. Очень нужна помощь  [new]
Александр Пеклов
Member

Откуда:
Сообщений: 5
Здравствуйте! Мучаюсь уже некоторое время, с тремя запросами. Не получается ничего, слишком сложные для меня. Помогите их реализовать, пожалуйста!!!

Запросы:
ж) аптеки, в которых нет медикаментов, заданного производителя;
з) пары производителей, у которых нет ни одного одинакового медикамента;
и) аптеки, в которых есть все лекарства.

P.S. В Инф.rar всё, что нужно для выполнения: диаграмма б/д, заполненные таблицы и файл в форматом bak.

К сообщению приложен файл (Инф.rar - 136Kb) cкачать
7 авг 18, 18:01    [21633266]     Ответить | Цитировать Сообщить модератору
 Re: Запросы.Агрегатные функции. Очень нужна помощь  [new]
aleks222
Member

Откуда:
Сообщений: 855
пары производителей, у которых нет ни одного одинакового медикамента

with p as ( select Производитель, Медикамент from Таблица)
  select p1.Производитель, p2.Производитель
     from p as p1 inner join p as p2 on p1.Производитель < p2.Производитель 
     where not exists( select * from p as pp1 inner join p as pp2 on pp1.Медикамент = pp2.Медикамент where pp1.Производитель = p1.Производитель and pp2.Производитель = p2.Производитель )
7 авг 18, 18:40    [21633336]     Ответить | Цитировать Сообщить модератору
 Re: Запросы.Агрегатные функции. Очень нужна помощь  [new]
invm
Member

Откуда: Москва
Сообщений: 9123
Александр Пеклов
ж) аптеки, в которых нет медикаментов, заданного производителя;
not exists() вам в помощь.

Александр Пеклов
з) пары производителей, у которых нет ни одного одинакового медикамента;
select
 m1.name_manufacturer, m2.name_manufacturer
from
 manufacturer m1 join
 manufacturer m2 on m2.id_manufacturer > m1.id_manufacturer
where
 not exists(
  select id_medicament from manuf_medicament where id_manufacturer = m1.id_manufacturer
  intersect
  select id_medicament from manuf_medicament where id_manufacturer = m2.id_manufacturer
 );

Александр Пеклов
и) аптеки, в которых есть все лекарства.
Читайте про реляционное деление.
7 авг 18, 21:30    [21633499]     Ответить | Цитировать Сообщить модератору
 Re: Запросы.Агрегатные функции. Очень нужна помощь  [new]
Александр Пеклов
Member

Откуда:
Сообщений: 5
Большое спасибо за ответы!
8 авг 18, 16:08    [21634630]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить