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;
另外,请注意,这样做是可能的