将多条记录合并为一个人拥有的一条记录?

问题描述 投票:0回答:1

如何更改以下内容:

username | userLastFirst    | email             | approver1         |department
FAlbert  | Albert, Frankie  | [email protected]  | Doe, John         |HR
FAlbert  | Albert, Frankie  | [email protected]  | Smith, Mike       |HR

进入此:

username | userLastFirst    | email             | approver1    |approver2   |department
FAlbert  | Albert, Frankie  | [email protected]  | Doe, John    |Smith, Mike |HR

而不是同一用户及其批准者的多行,我希望将其合并到其批准者列的一条记录中。

sql sql-server join inner-join consolidation
1个回答
1
投票

如果有两行,则可以使用聚合:

select username, userLastFirst, email, min(approver) as approver1 ,
       nullif(max(approver), min(approver)) as approver2, department
from t
group by username, userLastFirst, email, department;
© www.soinside.com 2019 - 2024. All rights reserved.