SELECT [Key] AS [Key], Left((SELECT CONVERT(varchar(50), [ID]) + ',' FROM [_META].[_addresses].[DetailKeys] WHERE [Key] = dk.[Key] FOR XML PATH('')), LEN((SELECT CONVERT(varchar(50), [ID]) + ',' FROM [_META].[_addresses].[DetailKeys] WHERE [Key] = dk.[Key] FOR XML PATH(''))) - 1) AS [IDs] FROM [_META].[_addresses].[DetailKeys] dk GROUP BY [Key]