行列转换方面的问题。帮帮忙!!!大神们!!!

w303112495 2011-12-22 05:21:38
有一个表记录的是学生的成绩
例如:
id 课程 成绩
1 英语 60
1 数学 70
1 政治 60
1 网络基础 66
1 计算机基础 89
2 英语 60
2 数学 70
2 政治 60
2 网络基础 66
2 计算机基础 89
3 英语 60
3 数学 70
3 政治 60
3 网络基础 66
3 计算机基础 89


现在我要查询出来显示成下面这样
id 英语 数学 政治 网络基础 计算机基础
1 60 70 60 66 89
2 60 70 60 66 89
3 60 70 60 66 89

...全文
54 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
w303112495 2011-12-22
  • 打赏
  • 举报
回复
了解了,对不起,我对数据库不熟悉,开始没有看懂代码,sorry

现在我明白了,谢谢大神
w303112495 2011-12-22
  • 打赏
  • 举报
回复
可以在数据库里面写一个存储过程返回一个DataSet么?
dawugui 2011-12-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 w303112495 的回复:]
我要用到web程序里面代码也这么写么?
谢谢各位帮忙
[/Quote]把上面不动态的写法嵌入到你的web中去.
w303112495 2011-12-22
  • 打赏
  • 举报
回复
课程不固定的
w303112495 2011-12-22
  • 打赏
  • 举报
回复
我要用到web程序里面代码也这么写么?
谢谢各位帮忙
dawugui 2011-12-22
  • 打赏
  • 举报
回复
--如果课程固定为这几个。
select id ,
max(case when 课程 = '英语' then 成绩 else 0 end) [英语],
max(case when 课程 = '数学' then 成绩 else 0 end) [数学],
max(case when 课程 = '政治' then 成绩 else 0 end) [政治],
max(case when 课程 = '网络基础' then 成绩 else 0 end) [网络基础],
max(case when 课程 = '计算机基础' then 成绩 else 0 end) [计算机基础]
from tb
group by id

--如果课程名称不固定,需要使用动态SQL。
declare @sql varchar(8000)
set @sql = 'select id '
select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 成绩 else 0 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' from tb group by id'
exec(@sql)
dawugui 2011-12-22
  • 打赏
  • 举报
回复
--如果课程固定为这几个。
select id ,
max(case when 课程 = '英语' then 成绩 else 0 end) [英语],
max(case when 课程 = '数学' then 成绩 else 0 end) [数学],
max(case when 课程 = '政治' then 成绩 else 0 end) [政治],
max(case when 课程 = '网络基础' then 成绩 else 0 end) [网络基础],
max(case when 课程 = '计算机基础' then 成绩 else 0 end) [计算机基础]
from tb
group by id
--小F-- 2011-12-22
  • 打赏
  • 举报
回复
declare @sql varchar(8000)
set @sql = 'select id, '
select @sql = @sql + ' , max(case 课程 when ''' + 课程 + ''' then 成绩 else 0 end) [' + 课程 + ']'
from (select distinct 课程 from tb) as a
set @sql = @sql + ' from tb group by id'
exec(@sql)

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧