欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL Server 表字段值转列名 示例

程序员文章站 2022-04-07 23:21:12
...

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