首页 >数据库 >mysql教程 >SQL Server 表字段值转列名 示例

SQL Server 表字段值转列名 示例

WBOY
WBOY原创
2016-06-07 17:37:061747浏览

SQL Server 表字段值转列名 示例 前几天,同事问我怎样把字段值转换成字段列,就写了一个最简单的Demo分享一下。 代码如下: -- 创建测试表以及添加测试数据 create table #temp(a money,b varchar(10)) /* insert into #temp(a,b) values(10,'1点') insert

SQL Server 表字段值转列名 示例

前几天,同事问我怎样把字段值转换成字段列,就写了一个最简单的Demo分享一下。

代码如下:

 

-- 创建测试表以及添加测试数据
create table #temp(a money,b varchar(10))

/*
insert into #temp(a,b) values(10,'1点')
insert into #temp(a,b) values(20,'2点')
insert into #temp(a,b) values(20,'3点')
insert into #temp(a,b) values(20,'4点')
insert into #temp(a,b) values(20,'5点')
insert into #temp(a,b) values(30,'6点')
insert into #temp(a,b) values(20,'7点')
insert into #temp(a,b) values(48,'8点')
insert into #temp(a,b) values(20,'9点')
insert into #temp(a,b) values(15,'10点')
*/
select * from #temp

-- 查询结果
declare @sql nvarchar(max)='';
select @sql=@sql+ (case @sql when '' then '' else ',' end)+'max(case b when '''+b+''' then a else 0 end) ['+b+']' from #temp;
set @sql='select '+@sql+' from #temp;';
exec sp_executesql @sql;

--drop table #temp

posted on

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn