首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在与同一表中的一组结果进行比较时显示所有重复的结果

如何在与同一表中的一组结果进行比较时显示所有重复的结果
EN

Stack Overflow用户
提问于 2014-03-25 16:11:46
回答 1查看 19关注 0票数 0

我需要从学生登记表中选择所有属于A学期和属于不同组的学生,并比较这些结果,并检查他们是否注册了除A学期以外的任何其他学期,以及他们是否有类似的组。如果它们有不同的组,那么我需要显示A项的结果和A以外的结果

代码语言:javascript
复制
> SELECT sra.studentid,sra.StudentName,sra.Term,sra.Group
 FROM StudentReg sra
join (select * from 
(SELECT sra1.studentid,sra1.StudentName,sra1.Term,sra1.Group
FROM StudentReg sra1
)mq where mq.Term <> 'A'
)sra1 on sra.StudentID=sra1.StudentID       
where sra.Term='A'

这只显示了在A学期中为同一组注册的结果,但我需要同时显示这两个结果,一个来自A学期,另一个以A以外的术语表示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-25 16:32:11

在第一次选择中,只有表sra中的字段,这适用于输出。因此,也可以将从sra1到此选择的字段列表:

代码语言:javascript
复制
SELECT sra.studentid,sra.StudentName,sra.Term,sra.Group,
sra1.studentid,sra1.StudentName,sra1.Term,sra1.Group
 FROM StudentReg sra
join (select * from 
(SELECT sra1.studentid,sra1.StudentName,sra1.Term,sra1.Group
FROM StudentReg sra1
)mq where mq.Term <> 'A'
)sra1 on sra.StudentID=sra1.StudentID       
where sra.Term='A'

这将导致数据输出到A项和A以外的项。

您的陈述可能更简单,如下所示:

代码语言:javascript
复制
SELECT sra.studentid,sra.StudentName,sra.Term,sra.Group, 
  sra1.studentid,sra1.StudentName,sra1.Term,sra1.Group
  FROM StudentReg sra
  JOIN StudentReg sra1 on sra.StudentID=sra1.StudentID       
WHERE sra.Term='A' and sra1.Term <> 'A'

我不认为需要分选。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22640240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档