查询以获取指定表中显示的输出

时间:2013-04-02 09:54:31

标签: sql-server-2008 pivot

EmpId EmpDeptName
1   Account
2   Sales
3   IT
4   HR

我希望以

格式输出
EmpId Account Sales IT HR 
 1 
 2 
 3 
 4 

如果有人知道如何编写查询以获得此输出,请向我提供该查询。

1 个答案:

答案 0 :(得分:0)

此类型的数据转换是PIVOT,您可以在其中获取行数据并将其转换为列。

您没有提供很多细节,但如果您想要每个部门的员工数量,您可以使用以下内容:

select Account, Sales, IT, HR
from 
(
  select EmpDeptName
  from employees
) d
pivot
(
  count(EmpDeptName)
  for EmpDeptName in (Account, Sales, IT, HR)
) p;

这将显示每个部门的员工总数作为列数据而不是行。