在Microsoft SQL Server 2008中,将一张表的某列字段的值转换为列名称
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Microsoft SQL Server 2008中,将一张表的某列字段的值转换为列名称相关的知识,希望对你有一定的参考价值。
create table test
(部门 varchar(10),
客户 varchar(10),
费用名称 varchar(10),
金额 int)
insert into test values (‘A‘,‘a‘,‘手机费‘,10)
insert into test values (‘A‘,‘a‘,‘办公费‘,11)
insert into test values (‘A‘,‘a‘,‘公交费‘,9)
insert into test values (‘A‘,‘b‘,‘手机费‘,10)
insert into test values (‘A‘,‘b‘,‘办公费‘,10)
insert into test values (‘A‘,‘c‘,‘公交费‘,10)
insert into test values (‘B‘,‘d‘,‘手机费‘,10)
insert into test values (‘B‘,‘d‘,‘办公费‘,11)
insert into test values (‘B‘,‘e‘,‘公交费‘,9)
insert into test values (‘B‘,‘f‘,‘手机费‘,10)
insert into test values (‘B‘,‘f‘,‘办公费‘,10)
insert into test values (‘B‘,‘f‘,‘公交费‘,10)
select * from test
declare @sql varchar(4000)
set @sql = ‘select [部门],[客户]‘
select @sql = @sql + ‘,sum(isnull(case [费用名称] when ‘‘‘+[费用名称]+‘‘‘ then [金额] end,0)) as
[‘+[费用名称]+‘]‘
from (select distinct [费用名称] from [test]) as a
select @sql = @sql+‘ from [test] group by [部门],[客户]‘
exec(@sql)
以上是关于在Microsoft SQL Server 2008中,将一张表的某列字段的值转换为列名称的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或访问被拒绝
sql server游标读取excel文件数据,更新到指定表中
标题: Microsoft SQL Server Management Studio