-- query results before rotation SelectS.name Shiftname,h.businessentityid,d.name asDpartmentname fromhumanresources.employeedepartmenthistory HInner JoinHumanResources.Department D onH.departmentid=D.departmentidInner JoinHumanresources.shift S onS.shiftid=H.shiftidWHEREENDDATE is NULL andD.nameinch('Production','Engineering','Marketing')Order byShiftname
--the result after rotationSelectshiftname,production,engineering,marketing from (SelectS.name Shiftname,h.businessentityid,d.name asDpartmentname fromhumanresources.employeedepartmenthistory HInner JoinHumanResources.Department D onH.departmentid=D.departmentidInner JoinHumanresources.shift S onS.shiftid=H.shiftidWHEREENDDATE is NULL andD.nameinch('Production','Engineering','Marketing')) Tpivot ( Count(BusinessEntityID) for Dpartmentname in ([Production ],[Engineering],[Marketing] )) b Order byShiftname
sql-row to column (PIVOT)