首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

exists 子查询请问?请前辈指点

2012-03-02 
exists 子查询请教?请前辈指点!表A结构:学号课程成绩有效2001计算机80是2001计算机70否select*from成绩awh

exists 子查询请教?请前辈指点!
表A结构:

学号     课程           成绩     有效
2001     计算机       80         是
2001     计算机       70         否

select   *   from   成绩   a   where   有效= '是 '   and   exists(select   *   from   成绩   b   where   有效= '否 '   where   a.学号=b.学号   and   a.课程=b.课程   )

意思是不是:   只要子查询中的   学号和课程   跟   父查询的一样,就显示出来?
                        比较的字段只涉及到       where   a.学号=b.学号   and   a.课程=b.课程   中的学号和课程   ?


[解决办法]
select * from 成绩 a where 有效= '是 ' and exists(select * from 成绩 b where 有效= '否 ' and a.学号=b.学号 and a.课程=b.课程 )

[解决办法]
and exists(select * from 成绩 b where 有效= '否 ' and a.学号=b.学号 and a.课程=b.课程 )
整个的意思是存在 这样的 成绩 记录 ,它的学号、课程都于a的记录一样,而且它的有效= '否 '

再加上条件有效= '是 ' 就是两个完整的条件
[解决办法]
select * from 成绩 a where 有效= '是 ' and exists(select * from 成绩 b where 有效= '否 ' and a.学号=b.学号 and a.课程=b.课程 )
[解决办法]
个人理解是这样的:找出同一个学生id的同一门课程既有否又有是的纪录

热点排行