请问各位大侠, 这样的Sql语句可以写不,班级各科老师评价班级,对班级进行打分, 要横向统计 和纵向统计

2024-12-30 23:07:19
推荐回答(3个)
回答1:

select 班级,学科,教师,上课纪律,学习气氛,作业情况,教室卫生,上课纪律+学习气氛+作业情况+教师卫生 as 总分
union
select ‘’,班级合计,‘’,sum(上课纪律),sum(学习气氛),sum(作业情况),sum(教室卫生),sum(总分)
from
(
select 班级,学科,教师,上课纪律,学习气氛,作业情况,教室卫生,上课纪律+学习气氛+作业情况+教师卫生 as 总分
) as tb

回答2:

因为你没给四个表的字段是什么,所以我只能给你提供个思路
分数肯定要从评价表中取,假设评价表字段为班级,课程、分数三个字段
班级, 课程、 分数
1 A 12
1 B 43
1 C 21
2 D 26
2 E 11
3 F 64

sql:
select case when grouping(班级)=1 then '总计'
when grouping(课程)=1 then '班级合计'
else name end,
课程,
sum(分数)
from 评价表
group by 班级,课程 with rollup

得到结果
1 A 12
1 B 43
1 C 21
班级合计 NULL 76
2 D 26
2 E 11
班级合计 NULL 37
3 F 64
班级合计 NULL 64
学校合计 NULL 177

所以上面的sql语句可作为派生表再和其它表连取得你想要的结果

回答3:

--用临时表
--前面进行查询,将数据插入临时表
update #tablename set 总分=上课纪律+学习气氛+作业情况+教师卫生
select * from #tablename
drop table #tablename