SQL Pivot命令输出

时间:2013-02-26 14:21:59

标签: sql-server-2008 pivot

我有一个要求,在Pivot之后,我不想要聚合值,而是我需要'Y'。对于Null值,它应该是'N'。我怎样才能做到这一点?请帮帮我。

1 个答案:

答案 0 :(得分:3)

您绝对没有提供有关当前表格结构或数据的详细信息,但您可以在Y/N中使用pivot标记。这是一个示例解决方案:

select employeename,
  isnull(hr, 'N') HR,
  isnull(IT, 'N') IT
from
(
  select e.name EmployeeName,
    d.name DeptName,
    'Y' flag
  from employee e
  left join dept_employee de
    on e.id = de.e_id
  left join dept d
    on de.d_id = d.id
) src
pivot
(
  max(flag)
  for deptname in (HR, IT)
) piv

请参阅SQL Fiddle with Demo