首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Access >

纵向转横向解决方案

2012-03-30 
纵向转横向我有一个 Access 的数据表Test,结构如下id学号科目成绩-----------------------------12语文892

纵向转横向
我有一个 Access 的数据表Test,结构如下
id 学号 科目 成绩
-----------------------------
1 2 语文 89
2 2 数学 67
3 2 英语 78
4 3 语文 85
5 3 数学 67
6 3 英语 55
7 4 语文 76
8 4 数学 73
9 4 英语 84

---- 注意,科目是动态增加的
想通过代码实现为:
学号 语文 数学 英语 总分 平均分
2 89 67 78 234 78
3 85 67 55 207 69
4

请各位大侠帮解决下,主要是ACCESS本人没有用过。  


[解决办法]
select 学号,
sum(iif(科目='语文',成绩,0)) as 语文,
sum(iif(科目='数学',成绩,0)) as 数学,
sum(iif(科目='英语',成绩,0)) as 英语,
sum(成绩) as 总分,
avg(成绩) as 成绩
from Test
group by 学号
[解决办法]
问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)
[解决办法]

SQL code
TRANSFORM first(成绩)SELECT 学号,COUNT(成绩) AS 总分,AVG(成绩) AS 平均分FROM 成绩表GROUP BY 学号PIVOT 科目 

热点排行