Here's the A execution method (also works since 2005):
Table
DECLARE @table TABLE ( [Type_ID] INT, [Client_ID] VARCHAR(50), [PBX_Vendor] VARCHAR(50) )
Data
INSERT INTO @table SELECT 127, '090820006311404926326C', 'Aastra' UNION ALL SELECT 127, '090820006311404926326C', 'Ericsson' UNION ALL SELECT 127, '111012237401404926326C', 'Aastra' UNION ALL SELECT 127, '120209287521404926326C', 'Aastra' UNION ALL SELECT 127, '120209287521404926326C', 'Alcatel'
Query
SELECT [Type_ID], [Client_ID], ( SELECT STUFF(( SELECT ',' + [PBX_Vendor] FROM @table WHERE [Client_ID] = tbl.[Client_ID] AND [Type_ID] = tbl.[Type_ID] GROUP BY [PBX_Vendor] ORDER BY [PBX_Vendor] FOR XML PATH('') ), 1, 1, '') ) PBX_Vendor FROM @table tbl GROUP BY [Type_ID], [Client_ID]
Result
Type_ID Client_ID PBX_Vendor 127 090820006311404926326C Aastra,Ericsson 127 111012237401404926326C Aastra 127 120209287521404926326C Aastra,Alcatel
source share