gpt4 book ai didi

SQL返回包含一个字段相同数据但其他字段数据不同的行

转载 作者:行者123 更新时间:2023-12-04 05:50:04 25 4
gpt4 key购买 nike

我正在尝试编写一个 SQL 语句来查找表中的所有行,这些行对于一个字段包含相同的值。但是,我只想为单独的属性返回具有不同值的行。这有点难以解释。

我有一个带有架构的表教师:

TeacherName varchar(50)
CourseN int
Quarter varchar(50)

这三个字段结合起来构成主键,因此只要季度不同,同一位老师可以教授同一门类(class)。我试图解决的问题是, 我怎样才能返回所有教授至少两门不同类(class)(不分季度)的老师的(不同的)名字?

这是一个实验室,我一直试图解决这个问题大约一个星期,但我无法弄清楚,所以我想我会来这里。上一个问题要求找到至少两次教授同一门类(class)的教师姓名的不同列表。我想出了这个:
SELECT DISTINCT [TeacherName] 
FROM [Teacher]
GROUP BY [TeacherName],
[CourseN]
HAVING COUNT( [CourseN] ) >= 2

然而,我现在试图解决的问题是相似的,但同样,我只需要不止一次出现在表中并教授至少两门不同类(class)的老师。我也非常感谢一些指导,而不仅仅是答案,因为我确切地了解数据库在做什么很重要。

最佳答案

在这种情况下,您应该能够获得不同的列表而不必使用 DISTINCT 一词,特别是如果它可以是“不管季度”。本质上,您只需要在子查询表中有 >=2 行的教师,每个唯一的教师-类(class)编号组合有 1 行。

select TeacherName
from (
select TeacherName, CourseN
from Teacher
group by TeacherName, CourseN
) t1
group by TeacherName
having count(*) >=2

关于SQL返回包含一个字段相同数据但其他字段数据不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10184783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com