[MS SQL] 使用PIVOT 做兩個欄位的交叉分析(固定欄位)

1. 先準備一個範例表:
DECLARE @Table1 TABLE(
 WhereToGo nvarchar(10), --要去哪?
 HowToGo nvarchar(10), --怎麼去?
 TotCnt int  --多少人選此方法
)

INSERT INTO @Table1 SELECT '台北','開車',2 UNION  SELECT '台北','坐高鐵',9 
UNION  SELECT '高雄','開車',5 UNION  SELECT '高雄','坐高鐵',10;

SELECT * FROM @Table1;

2. 將此表轉成交叉分析表:
--PIVOT
SELECT WhereToGo AS '要去哪?' , [開車],[坐高鐵] 
FROM @Table1
PIVOT(  
 SUM(TotCnt)  
 FOR HowToGo IN ([開車],[坐高鐵]) 
) AS pvt 
ORDER BY pvt.WhereToGo 


留言

這個網誌中的熱門文章

[MS SQL] 使用PIVOT 做兩個欄位的交叉分析(動態欄位)

[ASP.NET] Gridview動態增加欄位與Null值處理

[MS SQL] 將輸入的時間(分、秒)轉換成中文時間的函數