Sql server SQL Server 2014中的动态透视
我有一个列如下的表:Sql server SQL Server 2014中的动态透视,sql-server,Sql Server,我有一个列如下的表: ProductID ProductName ProductCategory Storage 1 Doll Toy A1 2 Car Toy A2 3 Cola Drink A1 4 Pure Water Drink A3 我希望输出表采用以下格式: Storage Toy Dr
ProductID ProductName ProductCategory Storage
1 Doll Toy A1
2 Car Toy A2
3 Cola Drink A1
4 Pure Water Drink A3
我希望输出表采用以下格式:
Storage Toy Drink
A1 1 1
A2 1 0
A3 0 1
请帮助我如何解决这个问题。非常感谢。将动态sql查询与
内容一起使用
查询
declare @sql as varchar(max);
select @sql = 'select [Storage], '
+ stuff((select distinct ', sum(case [ProductCategory]
when ''' + [ProductCategory] + '''
then 1 else 0 end) as ' + [ProductCategory]
from [your_table_table]
for xml path('')
), 1, 2, '')
+' from [your_table_table] group by [Storage]';
exec(@sql);
非常感谢你。它工作得很好。还有一个问题:产出能有百分比吗?(如A1 50%50%、A2 50%0%、A3 0%50%)