Задать вопрос
ap0stal
@ap0stal
Web-разработчик

Как сделать выборку в MySQL по несуществующему отношению?

Есть таблица student [id, name, surname] которая содержит информацию о студентах учебного заведения.
Есть таблица contract [id, student_id], которая содержит информацию о контрактах студента.
Есть таблица contract_discipline [contract_id, discipline_id], которая содержит информацию о выбранных студентом дисциплинах в рамках договора.
Есть таблица discipline [id, title], которая содержит информацию о преподаваемых дисциплинах в учебном заведении.

Задача

Выбрать студентов, в контрактах которых отсутствует заданная дисциплина, например, её id = 5, то есть contract студента, где в отношении contract_discipline.discipline_id = 5 не существует.
  • Вопрос задан
  • 118 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя ThunderCat К ответам на вопрос (3)
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
https://technet.microsoft.com/ru-ru/library/ms1890...
Поясню если не очень понятно - в вашем случае надо выбрать всех с дисциплиной 5 и исключить их из выборки
Ответ написан
Комментировать