当前位置:Gxlcms > mysql > SQLServer表字段值转列名示例

SQLServer表字段值转列名示例

时间:2021-07-01 10:21:17 帮助过:140人阅读

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

人气教程排行