Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2016, 15:09   #1
Serpanok
Новичок
Джуниор
 
Регистрация: 08.12.2010
Сообщений: 1
Сообщение Сложные запросы

Всем привет! Помогите написать пару сложных запросов к БД SQL.

Есть БД(ER диаграмма во вложении).



Необходимо сделать такие запросы:
  1. Выбрать преподавателей(табл. teachers), которые могут вести(табл. courses) все дисциплины(табл. diciplines) на 3-м курсе(diciplines.level = 3).
  2. Выбрать преподавателей(табл. teachers), которые могут вести(табл. courses) все дисциплины(табл. diciplines) ТОЛЬКО на одном курсе.

Заранее огромное спасибо!)
Изображения
Тип файла: jpg kr_er.jpg (88.8 Кб, 96 просмотров)

Последний раз редактировалось Serpanok; 29.11.2016 в 15:40.
Serpanok вне форума Ответить с цитированием
Старый 29.11.2016, 17:02   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

1. дисциплины курсы и их преподаватели
Код:
select diciplines.dicipline_id, courses.teacher_id, level
from diciplines 
inner join courses on courses.dicipline_id =diciplines.dicipline_id
2. кто и где (курс) сколько может
Код:
select courses.teacher_id, level, 
  count(distinct diciplines.dicipline_id) as cnt 
from diciplines 
inner join courses on courses.dicipline_id =diciplines.dicipline_id
group by courses.teacher_id, level
3. где сколько дисциплин
Код:
select level, count(dicipline_id) as cnt
from diciplines 
group by level
4. сравнить данные и вывести нужное
Код:
select ???
from ( -- кто, где и сколько 
       select ... 
     ) as stat
inner join ( --где и сколько 
            select ...
          ) as cnt on cnt.level =stat.level 
                   and stat.cnt =cnt.cnt --может ВСЕ на этом курсе
inner ??? --дополнительная информация для вывода
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать сложные запросы SQL natsad C# (си шарп) 2 28.03.2016 18:39
Сложные запросы в mysql с союзом and и другими Lizoveta Помощь студентам 4 10.11.2013 21:34
Сложные запросы Владилена SQL, базы данных 15 26.06.2012 20:22
Сложные SQL запросы или хранимые процедуры! Killer_djon БД в Delphi 17 25.03.2008 12:10