有没有办法在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