我正在尝试编写一条 SQL 语句来查找表中对于一个字段包含相同值的所有行。但是,我只想为单独的属性返回具有不同值的行。这有点难以解释。
我有一个带有架构的老师表:
TeacherName varchar(50)
CourseN int
Quarter varchar(50)
这三个字段组合起来构成了主键,因此只要季度不同,同一位老师就可以教授同一门课程。我要解决的问题是,如何返回至少教授两门不同课程(不分季度)的所有教师的(不同)姓名?
这是一个实验室,我已经尝试解决这个问题大约一个星期,但我无法弄清楚,所以我想我会来这里。上一个问题要求找出至少两次教授同一课程的教师的不同姓名列表。我想出了这个:
SELECT DISTINCT [TeacherName]
FROM [Teacher]
GROUP BY [TeacherName],
[CourseN]
HAVING COUNT( [CourseN] ) >= 2
然而,我现在试图解决的问题是相似的,但同样,我只需要不止一次出现在表格中并教授至少两门不同课程的老师。我也非常感谢一些指导,而不仅仅是答案,因为我准确了解数据库在做什么很重要。