Sql server 2012 在SQL Server 2012中将SQL单元格值转换为列名

Sql server 2012 在SQL Server 2012中将SQL单元格值转换为列名,sql-server-2012,Sql Server 2012,我的表格如下所示: EmpId IdType Id_Number ------- -------- ----------- 112211 MRN 30013 112211 Member_Id 40012 223344 MRN 23432 EmpId MRN Member_Id ------- -------- ----------- 112211 30013

我的表格如下所示:

  EmpId     IdType     Id_Number
-------   --------   -----------
 112211     MRN         30013
 112211    Member_Id    40012
 223344     MRN         23432
 EmpId     MRN       Member_Id
 -------   --------   -----------
 112211    30013       40012
 223344    23432       Null
我希望单元格值MRN,Member_ID在结果表中显示为列名,如下所示:

  EmpId     IdType     Id_Number
-------   --------   -----------
 112211     MRN         30013
 112211    Member_Id    40012
 223344     MRN         23432
 EmpId     MRN       Member_Id
 -------   --------   -----------
 112211    30013       40012
 223344    23432       Null
我想我需要用枢轴。但它需要使用聚合函数。因为这里没有可使用的聚合函数,所以我找不到其他函数来实现这一点


非常感谢您的帮助。

这是一个简单的支点-请记住
MIN()
MAX()
可以用作聚合,即使在非数字列上也是如此

SELECT EmpID, MRN, Member_ID
FROM
  Employee
PIVOT 
(
  MIN(ID_Number) FOR
  IDType IN ([MRN], [Member_ID])
)  AS p;

另外,请注意,这样做是可能的