有時候SQL搜尋出來的資料是直式的,但偏偏PM們常常想看的卻是橫式報表,狀況模擬如下
1 | DECLARE @Report TABLE ( |
[![](https://3.bp.blogspot.com/-qirx6weBsrU/Vt4qvqqJUMI/AAAAAAAAHus/HnoX8Epl2xY/s320/1.png)](https://3.bp.blogspot.com/-qirx6weBsrU/Vt4qvqqJUMI/AAAAAAAAHus/HnoX8Epl2xY/s1600/1.png) |
這是資料在資料庫裡面的記錄方式 |
[![](https://4.bp.blogspot.com/-u18YG_Pkcro/Vt4rc9-XmnI/AAAAAAAAHuw/R12QCiukmio/s1600/1.png)](https://4.bp.blogspot.com/-u18YG_Pkcro/Vt4rc9-XmnI/AAAAAAAAHuw/R12QCiukmio/s1600/1.png) |
PM想看到的 |
還好MS SQL 2005之後提供PIVOT來解決這種問題,實際SQL如下
1 | select |
[![](https://3.bp.blogspot.com/-iPNlxbN3F60/Vt4vAwWbJbI/AAAAAAAAHu8/UEDA-UufY6M/s320/1.png)](https://3.bp.blogspot.com/-iPNlxbN3F60/Vt4vAwWbJbI/AAAAAAAAHu8/UEDA-UufY6M/s1600/1.png) |
算出結果 |