写一个存储过程,自己设计一个表,把表里的行、列数据做一个反转再显示出来
1个回答
展开全部
结果表里面,第一行是列名还是数据?像下面这样可以吗?
--首先这张表需要有一个主键,这里假设姓名是主键(即不会出现重复的姓名)
create table tt4 ([姓名] varchar(10),[年龄] int, [性别] varchar(10));
insert into tt4
select '小张',10,'男' union all
select '小李',11,'女' union all
select '小王',9,'男' union all
select '小赵',11,'女' union all
select '小刘',11,'男' union all
select '小武',10,'女'
--行列反转
declare @n int;
set @n=1;
declare @sql varchar(2000);
set @sql='select ';
select @sql=@sql+''''+[姓名]+''' ['+cast(@n as varchar)+'],',@n=@n+1 from tt4 order by [姓名];
set @sql=left(@sql,len(@sql)-1)+' union all select ';
select @sql=@sql+''''+cast([年龄] as varchar)+''',' from tt4 order by [姓名];
set @sql=left(@sql,len(@sql)-1)+' union all select ';
select @sql=@sql+''''+[性别]+''',' from tt4 order by [姓名];
set @sql=left(@sql,len(@sql)-1);
exec(@sql);
结果如下:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询