sql语句,循环生成一到十二月的汇总表

来源:百度知道 编辑:UC知道 时间:2024/06/14 00:58:54
各位高手,现有一个数据表,字段如下
教师姓名,教学内空,年月,周,评分
张三, 备课, 200901,1,50
张三, 备课, 200901,2,60
张三, 备课, 200901,3,50
张三, 备课, 200901,4,40
张三, 上课, 200901,1,30
张三, 上课, 200901,2,20
张三, 备课, 200902,1,80
张三, 备课, 200902,2,90
张三, 备课, 200903,1,60
需要生成下面样式的表
内容,周次,一月,二月,三月,...
备课,1, 50, 80,60
2, 60,90
3, 50,
4
周合计 160,170
上课,1, 30
2, 20
...
周合计
总合计
求SQL语句,谢了.

select 教学内容,周次,评分 as 一月,null as 二月 from myTable where 教师姓名='张三' and 年月='200901' and 教学内容='备课' union all select 教学内容,周次,null as 一月,评分 as 二月 from myTable where 教师姓名='张三' and 年月='200902' and 教学内容='备课'
这是我做的仅一二月份的备课样式,但是二月的排不到一月后面,而是重新生成一行

Select xxxxxxxxxx,xxx,xxx,xxx from myTable
where xxxx
group by xxx,xxx,xxx
关键在于分组group by ,要你一直这么Union 那要1年365天你还得写365个union?
顺便说下,按你的意思的话,用报表中的矩阵很轻松就能解决。

HI过来我给你写写