我需要一个sql查询,它给我一个教授两个特定科目的老师

我需要一个sql查询,它给我一个教授两个特定科目的老师,sql,postgresql,join,postgresql-9.4,Sql,Postgresql,Join,Postgresql 9.4,我有一个老师和学生的数据库,我需要找出哪个老师教科目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'); 我的版本不

我有一个老师和学生的数据库,我需要找出哪个老师教科目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');

我的版本不起作用,我该怎么办?

我怀疑您想要
分组方式
,并且
拥有

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

样本数据和预期结果将有所帮助。你怎么知道老师是否在教一门特定的学科?请在代码问题中给出一个--cut&paste&runnable代码,包括作为代码输入的最小代表性示例;期望和实际输出(包括逐字记录错误消息);标签和版本;清晰的说明和解释。给出你能给出的最少代码,即你显示的代码是OK的,扩展为你显示的代码是不OK的。(调试基础。)用于包含DBMS和DDL(包括约束和索引)的SQL,并将其作为格式化为表的代码输入。停止尝试编码你的总体目标,并解释你期望从给定的代码中得到什么以及为什么。这是一个常见问题解答。在考虑发帖之前,请阅读本手册,谷歌搜索任何错误信息,或您的问题/问题/目标的许多清晰、简洁和准确的措辞,包括或不包括您的特定字符串/名称和网站:stackoverflow.com&tags;阅读许多答案。如果你发布一个问题,用一句话作为标题。请参阅文本上方的投票箭头鼠标(&S)。可能重复的