create table 视图A(Exam char(3),[Name] char(1),Class varchar(10),Achievement varchar(10),Term varchar(10),Subject varchar(10),Score int,[Order] int)
insert 视图A values('001','A','-(1)','期末','上学期','数学',80,1)
insert 视图A values('001','A','一(1)','期末','上学期','语文',90,1)
insert 视图A values('002','B','一(1)','期末','上学期','英语',70,1)
insert 视图A values('002','B','一(1)','期末','上学期','语文',76,2)
declare @sql varchar(8000)
set @sql = 'select Exam ExamNum,Name,'select @sql = @sql + 'sum(case Subject when '''+Subject+'''
then Score else null end) as '''+Subject+''',sum(case Subject when '''+Subject+''' then [order] else null end) as '+Subject+'名次,'
from (select distinct Subject from 视图A) as aselect @sql = left(@sql,len(@sql)-1) + ' from 视图A group by Exam,Name'exec(@sql)
go
insert 视图A values('001','A','-(1)','期末','上学期','数学',80,1)
insert 视图A values('001','A','一(1)','期末','上学期','语文',90,1)
insert 视图A values('002','B','一(1)','期末','上学期','英语',70,1)
insert 视图A values('002','B','一(1)','期末','上学期','语文',76,2)
declare @sql varchar(8000)
set @sql = 'select Exam ExamNum,Name,'select @sql = @sql + 'sum(case Subject when '''+Subject+'''
then Score else null end) as '''+Subject+''',sum(case Subject when '''+Subject+''' then [order] else null end) as '+Subject+'名次,'
from (select distinct Subject from 视图A) as aselect @sql = left(@sql,len(@sql)-1) + ' from 视图A group by Exam,Name'exec(@sql)
go
解决方案 »
- identity(1,1)如何设置可插入
- 查看存贮过程的问题变量的问题
- 如何:在存贮过程里使用Select 查询的返回结果?
- 哪位高手帮忙啊,批量修改多张表中某一指定字段的长度,涉及索引问题.
- [求助]关于SQL create table 中有long型怎么处理
- 服务器上sqlservr这个进程占用CPU很大的 导致整个网站速度都很慢
- 求助:SSIS中脚本任务的变量赋值问题。
- 这样的交叉报表如何生成?
- 请问如何删除某数据库的log以及如何修改数据库中某表的owner
- 火急,不好处理的问题?---数据库恢复后,原来建的用户登陆名不存在了,所以就不能用这个用户登陆数据库,同时他所拥有的所有对象都访问
- 有一点问题
- 问题依旧没解决。
不赞你,因为你还没有GF。哈哈,我早就相信上天不会这样偏心,什么好的都给你
先不结贴,担心自己看着看着又有问题,而我现在可用分不多了,必然吝啬一点才行。
如有得罪之处,切勿怪!!
大力GG一哭就不漂亮啦!看眼泪鼻涕都出来啦,liuri (璇玑) 千里迢迢来到这,要是见到你这样多不好,我实在不忍心哦!