【发布时间】:2021-01-15 16:06:46
【问题描述】:
我在 SQL Server 2016 中有一个 HR 系统。我需要从一个员工表(如下所示)构建一个结果集(表)。这个想法是识别员工拥有的所有姓名,并将其转换为单个列。最常见的情况是一个人结婚后改姓。
emp_number emp_fname emp_lname
----------------------------------
1 Marilyn Jones
2 Joan Smith
3 Jean Robinson
4 Shelia Hayes
4 Shelia Mclean
4 Shelia Taylor
5 Heather Iles
6 Lisa Norman
7 Andrea Plant
7 Andrea Clancy
我需要为每个 emp_number 设置一行。在该行中,如果 emp 编号有多个记录,则旋转 emp_fname 和 emp_lname,连接这些字段,然后写入单个记录。下表是我的目标
emp_number emp_name_concat
-----------------------------
1 Marilyn Jones
2 Joan Smith
3 Jean Robinson
4 Shelia Hayes , Shelia Mclean , Shelia Taylor
5 Heather Iles
6 Lisa Norman
7 Andrea Plant, Andrea Clancy
我正在查看枢轴示例,但它们似乎显示了要旋转的行数已知的场景。从理论上讲,一个人可以多次更改姓氏。而且,不需要对所有行进行透视。
任何建议将不胜感激,
谢谢
【问题讨论】:
-
这很好用。谢谢你,
标签: sql-server pivot