首页 新闻 会员 周边 捐助

【求助】查询学过学号为“1”同学所有课程的其他同学学号和姓名(好难的)

0
悬赏园豆:10 [已解决问题] 解决于 2017-11-08 11:05
查询学过学号为“1”同学所有课程的其他同学学号和姓名
千山慕雪的主页 千山慕雪 | 初学一级 | 园豆:195
提问于:2017-11-07 11:30
< >
分享
最佳答案
0

select S#, Sname from Student where  S# in (select distinct S# from SC where C# not in (select C# from SC Where S# = '1'))

收获园豆:10
纳_尼 | 菜鸟二级 |园豆:218 | 2017-11-07 17:47

还是不行啊

很郁闷

千山慕雪 | 园豆:195 (初学一级) | 2017-11-07 17:57

@千山慕雪: 

SELECT stu.Sid, stu.Sname FROM Student stu INNER JOIN SC score2
ON (stu.Sid = score2.Sid) WHERE score2.Cid IN (
SELECT Cid FROM SC score WHERE score.Sid = '1' )
GROUP BY stu.Sid, stu.Sname
HAVING COUNT(score2.Cid) = (
SELECT COUNT(1) FROM SC score WHERE score.Sid = '1' ) AND stu.Sid <> '1'

纳_尼 | 园豆:218 (菜鸟二级) | 2017-11-08 10:36

@纳_尼: 厉害了老兄!这个是可以的

千山慕雪 | 园豆:195 (初学一级) | 2017-11-08 11:00

@纳_尼: 查询和“1”号的同学学习的课程完全相同的其他同学学号和姓名

这个需求能解决吗?

千山慕雪 | 园豆:195 (初学一级) | 2017-11-08 11:01

@千山慕雪:关于数据库查询的练习,你可以看看这https://wenku.baidu.com/view/95bf164e19e8b8f67c1cb9da.html

纳_尼 | 园豆:218 (菜鸟二级) | 2017-11-08 11:01

@纳_尼: 可以的

千山慕雪 | 园豆:195 (初学一级) | 2017-11-08 11:04
其他回答(1)
0

如果只要知道学过课程1的学生的学生和姓名,只要成绩表和学生表关联一下不就行了吗?

liangzai1996 | 园豆:135 (初学一级) | 2017-11-07 13:58

不行的

查询至少有一门课与学号为“1”同学所学相同的同学的学号和姓名(这个我会)
select distinct(STUDENT.S#),sNAME FROM STUDENT,sc where C# not in (select C# from sc where s#='1') and STUDENT.S#!='1'

支持(0) 反对(1) 千山慕雪 | 园豆:195 (初学一级) | 2017-11-07 14:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册