合并同一记录中员工的电话号码

时间:2019-06-26 10:04:15

标签: sql sql-server

我有如下员工名单及其电话号码:

WITH [Mobile] AS (select E.EmployeeId,CD.Info 
        from  [XX].[dbo].AF_AdminFile AFA 
        LEFT JOIN [XX].[dbo].AF_ContactDetails AFC on AFC.AdminFileId=AFA.AdminFileId
        LEFT JOIN [XX].[dbo].ContactDetails CD on CD.ContactDetailsId=AFC.ContactDetailsId
        LEFT JOIN [XX].[dbo].ContactDetailsType CDT on CDT.ContactDetailsTypeId=CD.ContactDetailsTypeId
        LEFT JOIN [XX].[dbo].ContactDetailsCategory CDC on CDC.ContactDetailsCateroryId=CD.ContactDetailsCategoryId
        LEFT JOIN [XX].[dbo].Employee E on E.AdminFileId=afa.AdminFileId
        WHERE CDT.ContactDetailsTypeId=5)

SELECT   [E].[EmployeeId],
 [Mobile].[Info] AS [Phone]
 FROM [XX].[dbo].[Employee] AS [E]
LEFT JOIN [XX].[dbo].[AF_AdminFile] AS [AAF] WITH (NOLOCK) ON [AAF].[AdminFileId] = [E].[AdminFileId]
INNER JOIN [Mobile] on [Mobile].[AdminFileId]=  [AAF].[AdminFileId]

这是当前输出,如您所见,在雇员下方有14作为EmployeeId 我有两个不同的电话号码,我想将它们连接在同一列中,并且只获得一个记录(员工可以有多个电话号码)。

enter image description here

0 个答案:

没有答案