首页 > 数据库技术 > 详细

SQL-行转列(PIVOT)

时间:2015-12-23 14:11:39      阅读:227      评论:0      收藏:0      [点我收藏+]
--未旋转之前的查询结果
select s.Name ShiftName,h.BusinessEntityID,d.Name as DpartmentName
from  HumanResources.EmployeeDepartmentHistory h
inner join HumanResources.Department d
on h.DepartmentID=d.DepartmentID

inner join HumanResources.Shift s
on s.ShiftID=h.ShiftID

WHERE  ENDDATE IS NULL AND
       d.Name IN(Production,Engineering,Marketing)

order by ShiftName


技术分享

--旋转之后的结果

select ShiftName,Production,Engineering,Marketing
from 
(select s.Name ShiftName,h.BusinessEntityID,d.Name as DpartmentName
from  HumanResources.EmployeeDepartmentHistory h
inner join HumanResources.Department d
on h.DepartmentID=d.DepartmentID

inner join HumanResources.Shift s
on s.ShiftID=h.ShiftID

WHERE  ENDDATE IS NULL AND
       d.Name IN(Production,Engineering,Marketing)


)t
pivot 
(count(BusinessEntityID)
 for DpartmentName in ([Production],[Engineering],[Marketing]))b
 
order by ShiftName

技术分享


 技术分享

SQL-行转列(PIVOT)

原文:http://www.cnblogs.com/nzyjlr/p/5069711.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!