当前位置: 代码迷 >> Access >> SQL查询语句。升级版
  详细解决方案

SQL查询语句。升级版

热度:107   发布时间:2016-05-06 02:28:03.0
SQL查询语句求助。升级版
有两个表,
一个表放学生的一般信息,比如,姓名(唯一不重复)、年龄、性别、籍贯。

张三 20岁 男 北京
李四 21岁 男 天津
王五 20岁 女 上海

另一个表放学生的选修课程情况(每个学生选修科目和数量都不一定相同),比如姓名,学科,分数
张三 语文 90分
张三 数学 80分
李四 数学 70分
李四 英语 60分
李四 地理 90分
王五 语文 90分
王五 历史 80分

我想查询的结果是:
查询到既选修了语文,又选修了数学,同时籍贯为北京的同学的基本信息(姓名、年龄、性别、籍贯),当如何写?
谢谢!

------解决方案--------------------
SQL code
select *--指定显示列from t1 as ainner join t2 as b on a.姓名=b.姓名 inner join t2 as c on c.姓名=a.姓名where t1.籍贯=N'北京' and b.科目='语文' and c.科目='数学'
------解决方案--------------------
SQL code
select *from t1 as a inner join t2 as b on a.姓名=b.姓名where b.科目='语文' and exists(select 1 from t2 where 姓名=b.姓名 and c.科目='数学')
------解决方案--------------------
SQL code
select a.*from (一个表放学生的一般信息 a inner join 另一个表放学生的选修课程情况 b1 on a.姓名=b1.姓名)    inner join 另一个表放学生的选修课程情况 b2 on a.姓名=b2.姓名where b1.学科='语文' and b2.学科='数学文'and 籍贯='北京'
  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!
 
  • 最近登录:Mon Jan 23 20:43:26 CST 2017
  • 最近登录:Mon Jan 23 20:43:26 CST 2017
  • 最近登录:Mon Jan 23 20:43:26 CST 2017
  • 最近登录:Mon Jan 23 20:43:26 CST 2017
  • 最近登录:Mon Jan 23 20:43:26 CST 2017