我建了两个表,学生档案和学生成绩表,如何用·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 学生档案学号=学生成绩学号;
不能查询要输入参数
展开
 我来答
just66you123
2010-12-02 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:71.7万
展开全部
一个重要的问题,你不要在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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e3cc695
2010-12-02
知道答主
回答量:12
采纳率:0%
帮助的人:8.1万
展开全部
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...嘿...
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
friskyang
2010-12-02 · TA获得超过503个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:176万
展开全部
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.姓名
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xh_3413
2010-12-02
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式