日期:2014-05-17  浏览次数:20472 次

选课系统,统计一个学生总共选了多少学分
已选课程表info_selected
  字段 类型
  stu_id varchar(50)
  course_id int(11)

学生表info_student
字段 类型 整理 属性 Null 默认 额外 操作
id varchar(50) gb2312_chinese_ci 否
name varchar(20) gb2312_chinese_ci 否
dept varchar(40) gb2312_chinese_ci 否
major varchar(40) gb2312_chinese_ci 否
sex char(4) gb2312_chinese_ci 否
class varchar(20) gb2312_chinese_ci 否
password varchar(50) gb2312_chinese_ci 否 e10adc3949ba59abbe56e057f20f883e

课程表info_course

字段 类型 整理 属性 Null 默认 额外 操作
id int(5) 否 auto_increment
no varchar(50) gb2312_chinese_ci 否
name varchar(50) gb2312_chinese_ci 否
teacher_id varchar(50) gb2312_chinese_ci 否
teacher_name varchar(50) gb2312_chinese_ci 否
selectedMan int(11) 是 0
capacity int(11) 是 NULL
time varchar(50) gb2312_chinese_ci 是 NULL
place varchar(50) gb2312_chinese_ci 是 NULL
credit float 是 NULL  

统计一个学生总共选了多少学分
请高手指点这个语句该怎么写?

------解决方案--------------------
SQL code
select y.stuid,sum(a.credit) from 课程表 a,学生表 s,已选课程 y where y.course_id=a.id group by y.stu_id

------解决方案--------------------
2楼的少了一个关联
SQL code

select a.name,sum(b.credit) from 学生表 a,课程表 b,选课表 c
where a.id = c.stu_id and b.id = c.course_id group by c.stu_id