MySql, исключить подмножество с таблицей ассоциации - PullRequest
0 голосов
/ 11 марта 2020

Есть 2 таблицы. Таблица «студенты» с колонками «student_id» и «оценка». Таблица ассоциации "class_student" со столбцами "class_id" и "student_id". Как перечислить class_ids, что все оценки учеников в классе превышают 80. Это означает, что если у ученика какой-либо балл меньше 80, тогда класс не будет указан.

Ответы [ 2 ]

1 голос
/ 11 марта 2020

Я бы использовал min() для этой цели:

select cs.class_id
from class_student cs join
     students s
     on s.student_id = cs.student_id
group by cs.class_id
having min(s.score) >= 80;
0 голосов
/ 11 марта 2020

Группируйте по классам и берите только те группы, у которых нет записи с указанным вами условием

select cs.class_id
from class_student cs
join students s on s.student_id = cs.student_id
group by cs.class_id
having sum(s.score < 80) = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...