>  기사  >  데이터 베이스  >  SQL Server 表字段值转列名 示例

SQL Server 表字段值转列名 示例

WBOY
WBOY원래의
2016-06-07 17:37:061689검색

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으로 문의하세요.