You can use PIVOT as below
SELECT *
FROM
PIVOT(MAX(PhoneNumber)
FOR PhoneType IN ([Business],[Cell],[Other],[Home])) AS PVTTable
OR I think you want something like below,
SELECT PersonID = STUFF((SELECT PhoneType + ' | ' + PhoneNumber + ' | '
FROM
ORDER BY PersonID
FOR XML PATH('')), 1, 0, '')
FROM
GROUP BY PersonID, PhoneType
ORDER BY PersonID;
Last,
DECLARE @MainColumn AS NVARCHAR(MAX) = ''
SET @MainColumn = (SELECT PersonID = STUFF((SELECT PhoneType + ' | ' + PhoneNumber + ' | '
FROM
ORDER BY PersonID
FOR XML PATH('')), 1, 0, '')
FROM
GROUP BY PersonID)
SELECT 'PersonID | ' + @MainColumn AS FinalResult