2016-11-22 40 views
1

我有一個欄目表:動態透視2014

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 

請幫助我,我應該怎麼解決這個問題。非常感謝。

回答

1

使用帶有STUFF的動態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); 
+0

非常感謝你。它完美的作品。還有一個問題:輸出是否有百分比? (如A1 50%50%,A2 50%0%,A3 0%50%) – Danie