我建了两个表,学生档案和学生成绩表,如何用·SQL查询总分和平均分
这是我写的SQL语句SELECT学生档案学号,姓名,(课程A+B+C+D+E)AS总分,(课程A+B+C+D+E)/5AS平均分FROM学生档案,学生成绩WHERE学生档...
这是我写的SQL语句
SELECT 学生档案学号, 姓名, (课程A+B+C+D+E) AS 总分, (课程A+B+C+D+E)/5 AS 平均分
FROM 学生档案, 学生成绩
WHERE 学生档案学号=学生成绩学号;
不能查询要输入参数 展开
SELECT 学生档案学号, 姓名, (课程A+B+C+D+E) AS 总分, (课程A+B+C+D+E)/5 AS 平均分
FROM 学生档案, 学生成绩
WHERE 学生档案学号=学生成绩学号;
不能查询要输入参数 展开
4个回答
展开全部
一个重要的问题,你不要在sql里写那么多中文,最好没有中文字符!
例:按学号查询(孙三同学的学号为:20101110003)各科成绩,总分,平均分
(在sql查询分析器输入)
select student.Serial as 学号,student.Name as 姓名,
sum(case when Course.Name='语文'then Score.Score else 0 end) as 语文,
sum(case when Course.Name='数学'then Score.Score else 0 end) as 数学,
sum(case when Course.Name='英语'then Score.Score else 0 end) as 英语,
sum(Score.Score)as 总分,(sum(Score.Score)/count(*))as 平均分
from student,Course,Score
where student.Serial=Score.StudentID and Course.Serial=Score.CourseID and student.Serial='20101110003'
group by student.Serial,student.Name
例:按学号查询(孙三同学的学号为:20101110003)各科成绩,总分,平均分
(在sql查询分析器输入)
select student.Serial as 学号,student.Name as 姓名,
sum(case when Course.Name='语文'then Score.Score else 0 end) as 语文,
sum(case when Course.Name='数学'then Score.Score else 0 end) as 数学,
sum(case when Course.Name='英语'then Score.Score else 0 end) as 英语,
sum(Score.Score)as 总分,(sum(Score.Score)/count(*))as 平均分
from student,Course,Score
where student.Serial=Score.StudentID and Course.Serial=Score.CourseID and student.Serial='20101110003'
group by student.Serial,student.Name
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select a.学生档案学号, b.姓名, (课程A+B+C+D+E) AS 总分, (课程A+B+C+D+E)/5 AS 平均分
FROM 学生成绩 a left join 学生档案 b on b.学生档案学号=a.学生档案学号
group by a.学生档案学号, b.姓名
这个 完全可以 达到你想要的效果...
我最近也在 学 SQL...嘿...
FROM 学生成绩 a left join 学生档案 b on b.学生档案学号=a.学生档案学号
group by a.学生档案学号, b.姓名
这个 完全可以 达到你想要的效果...
我最近也在 学 SQL...嘿...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select a.学生档案学号, b.姓名, (课程A+B+C+D+E) AS 总分, (课程A+B+C+D+E)/5 AS 平均分
FROM 学生成绩 a left join 学生档案 b on b.学生档案学号=a.学生档案学号 group by a.学生档案学号, b.姓名
FROM 学生成绩 a left join 学生档案 b on b.学生档案学号=a.学生档案学号 group by a.学生档案学号, b.姓名
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select s.id,s.name,(c.a+c.b+c.c) as 'sum',(c.a+c.b+c.c)/3 as 'avg' from student s left join score c on c.stuid=s.id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询