行转列
今天遇到一个动态行转列的问题在网上查到了一SQL语句。
create table test(采购编号 nvarchar(50)
,属性名称 nvarchar(50)
,属性文本 nvarchar(50)
)
insert into test select '01','付款方式','一次性'
insert into test select '02','厂商名称','IBM'
select * from test
declare @sql varchar(8000)
set @sql = 'select 采购编号'
select @sql = @sql + ',max(case 属性名称 when '''+属性名称+''' then 属性文本 end) ['+属性名称+']'
from (select distinct 属性名称 from test) as a
select @sql = @sql+' from test group by 采购编号'
print @sql
exec(@sql)
drop table test