MS_SQL SERVER 行列互换 通用版
2009-08-06 07:54
337 查看
新建测试表并插入相应数据
行列互换存储过程
调用存储过程
不会用的可以加我qq:449129942
保定-吴磊(保定银河卡电子有限公司)
create table ttt ( 文理科 varchar(10), 全部人数 varchar(10), 最高分 varchar(10), 最低分 varchar(10), 平均分 varchar(10) ) insert ttt select '文科','18','12','3','6.7' union all select '理科','42','17','3','9.7' union all select '全部','60','17','3','8.7' go
行列互换存储过程
--DROP PROC p_zj create proc p_zj @tbname sysname, --要处理的表名 @fdname sysname, --做为转换的列名 @new_fdname sysname='' --为转换后的列指定列名 as declare @s1 varchar(8000),@s2 varchar(8000) ,@s3 varchar(8000),@s4 varchar(8000),@s5 varchar(8000) ,@i varchar(10) select @s1='',@s2='',@s3='',@s4='',@s5='',@i='0' select @s1=@s1+',@'+@i+' varchar(8000)' ,@s2=@s2+',@'+@i+'='''+case isnull(@new_fdname,'') when '' then '' else @new_fdname+'=' end+''''''+name+'''''''' ,@s3=@s3+' select @'+@i+'=@'+@i+'+'',[''+cast(['+@fdname+'] as varchar)+'']=''''''+replace(['+name+'],'''','''''''')+'''''''' from ['+@tbname+']' ,@s4=@s4+',@'+@i+'=''select ''+@'+@i ,@s5=@s5+'+'' union all ''+@'+@i ,@i=cast(@i as int)+1 from syscolumns where object_id(@tbname)=id and name<>@fdname order by colid select @s1=substring(@s1,2,8000) ,@s2=substring(@s2,2,8000) ,@s4=substring(@s4,2,8000) ,@s5=substring(@s5,16,8000) exec('declare '+@s1+' select '+@s2+@s3+' select '+@s4+' exec('+@s5+')') go --//
调用存储过程
EXEC p_zj 'ttt','文理科','指标'
不会用的可以加我qq:449129942
保定-吴磊(保定银河卡电子有限公司)
相关文章推荐
- MS-SQLServer 2000 T-SQL 交叉报表(行列互换) 交叉查询 旋转查询
- Sql Server中的行列互换
- Sql server 行列互换制作交叉表格报表
- sql server行列互换
- MS-SQLServer 2000 T-SQL 交叉报表(行列互换) 交叉查询 旋转查询
- Sql Server中的行列互换
- MS SQLServer 交叉报表(行列互换)
- MS-SQLServer 2000 T-SQL 交叉报表(行列互换) 交叉查询 旋转查询
- 利用dataset行列互换
- SQL SERVER 合并重复行,行列转换(sql server2000 里面如何实现oracle10g的 wmsys.wm_concat() 的功能?)
- 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。
- SQL Server中行列转换 Pivot UnPivot (转载)
- asp中Ms- sql server 数据类型转为 ACCESS 中的?
- Oracle 11g 行列互换 pivot 和 unpivot 说明
- SQL Server中行列转换 Pivot UnPivot
- 详解SQL Server的两个存储过程:sp_MSforeachtable/sp_MSforeachdb
- SQL Server中行列转换 Pivot UnPivot
- sql 行列互换 CASE WHEN
- C/C++小程序学习:二维矩阵行列元素互换
- SQL Server 2000+ MS WIN2003群集服务配置