有一张学生成绩表(Score),结构如下:编号 学 号 姓 名 科 目 成绩
1 990938 李四 英语 85
2 990383 王五 高数 90
3 993834 张三 英语 78
4 990938 李四 高数 95
5 990383 王五 英语 70
6 993834 张三 高数 88
……现在要根据该表,产生成绩报表,报表结构如下: 学 号 姓 名 英语 高数
990938 李四 85 95
990383 王五 70 95
993834 张三 78 88
……不知产生上表的SQL语句怎么写(或怎么解决该问题),请高手指点,谢谢!!
1 990938 李四 英语 85
2 990383 王五 高数 90
3 993834 张三 英语 78
4 990938 李四 高数 95
5 990383 王五 英语 70
6 993834 张三 高数 88
……现在要根据该表,产生成绩报表,报表结构如下: 学 号 姓 名 英语 高数
990938 李四 85 95
990383 王五 70 95
993834 张三 78 88
……不知产生上表的SQL语句怎么写(或怎么解决该问题),请高手指点,谢谢!!
解决方案 »
- 关于时间问题
- Delphi写的DLL如何按别名导出函数
- 如何判断一个非子窗体已经创建,为何我用findwindow 在子窗体未没创建时确不为0 了?
- 什么叫伪随机数?什么叫真正的过程?什么叫不是真正的过程?
- 高分求PCD格式的图象文件(Kodak公司的格式),以测试解码程序.
- dbedit简单问题
- 救命啊(我的delphi打不开了)急!
- 熟悉java和delphi的高手请进
- 如何去除空格
- 在Delphi7中安装Raize4.01运行后出错
- 为什么在WIN2000下能运行的程序在WIN98上不能运行?
- 请问:要从何处找到 Mapinfo或Arcinfo等软件?购买或下载,如果是购买,大概要多少钱?
英语= sum(CASE fkm WHEN '英语' THEN fscore ELSE 0 END), 高数=sum(CASE fkm WHEN '高数' THEN fscore ELSE 0 END) FROM Txscj GROUP BY fstu_id, fstu_nameSQL Server下通过
select 学号,姓名,decode(科目,英语,'成绩',' ') 英语,decode(科目,高数,'成绩',' ') 高数
from Score;
select 学号,姓名,decode(科目,英语,'成绩',' ') 英语,decode(科目,高数,'成绩',' ') 高数
from Score;
Id,
Name,
(Select 成绩 From Score where Id=T.Id and 课程='英语') as 英语,(Select 成绩 From Score where Id=T.Id and 课程='高数') as 高数
from Score as T
group by Id
Select 学号,姓名,(Case '科目' When '英语' then 成绩 end) as 英语,
(Case '科目' When ' 高数' then 成绩 end) as 高数 group by 学号