有沒有辦法在SQL Server 2008中將結果從水平轉換爲垂直?轉置計數從水平到垂直
例如,我在下面有下面的查詢。
Select
(Select Count(*) FROM tblJob Where JobOwnerID = e.EmployeeID) AS JobTotal,
(Select Count(*) FROM tblJob Where JobOwnerID = e.EmployeeID and Status = 'Completed') AS JobTCompleted,
(Select Count(*) FROM tblJob Where JobOwnerID = e.EmployeeID and Status = 'Expried') AS JobExpired
FROM tblEmployee e
然後該查詢產生下面的結果:
RecID JobTotal JobCompleted JobExpired
1574 167 56 167
1621 216 85 215
1676 8 2 5
我想從該結果到垂直格式如下樣品轉置。
RecID Category FieldName Value
1574 Job JobTotal 167
1574 Job JobCompleted 56
1574 Job JobExpired 167
1621 Job JobTotal 216
1621 Job JobCompleted 85
1621 Job JobExpired 215
1676 Job JobTotal 8
1676 Job JobCompleted 2
1676 Job JobExpired 5
請指教(如有可能,帶示例代碼)。在此先感謝
謝謝@Martin,你的解決方案效果很好(雖然它對我來說很複雜:)) – Milacay