Мне нужен запрос sql, который дает мне учителя, который преподаёт два указанных предмета - PullRequest
0 голосов
/ 12 марта 2020

У меня есть база данных с учителями и учениками, и мне нужно выяснить, какой учитель преподает предмет A и предмет B.

select nameteacher
from teacher inner join 
     university 
     on teacher.codt = university.codt inner join 
     subject 
     on university.coddisc = subject.coddisc
where subjects=('A') AND subjects=('B');

моя версия не работает, что мне делать?

1 Ответ

0 голосов
/ 12 марта 2020

Я подозреваю, что вы хотите group by и having:

select t.teacher_name
from teacher t
inner join university u on t.codt = u.codt
inner join subject s on u.coddisc = s.coddisc
where s.subject_name in ('A', 'B')
group by t.teacher_id, t.teacher_name
having count(*) = 2

В зависимости от вашего фактического набора данных, вам может понадобиться более ограничительное условие having:

having count(distinct s.subject_name) = 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...