This probably isn't 100% correct, but it might get your going: Select I.ACode, CASE WHEN RowNum = 1 THEN I.ADescription + '/' + I.BCode + '-' + I.BDescription + '/' ELSE '' END as AString, I.CCode + '-' + I.CDescription + '/' + I.DCode + '-' + I.DDescription + '/' + I.ECode + '-' + I.EDescription as BString, I.FIDFROM ( SELECT ACode, ADescription, BCode, BDescription, CCode, CDescription, DCode, DDescription, ECode, EDescription, FID, ROW_NUMBER() OVER (PARTITION BY ADescription + '/' + BCode + '-' + BDescription + '/' ORDER BY ACode) AS RowNum FROM table_01 ) AS I