CREATE TABLE #cds (codes VARCHAR(10))INSERT INTO #cds ( codes )VALUES ( '1D2'), ('5D3'), ('6H2'), ('4D2')SELECT Code01, Code02, Code03, Code04, Code05, Code06, Code07, Code08, Code09, Code10, Code11, Code12, Code13, Code14, Code15, Code16, Code17, Code18, Code19, Code20FROM (SELECT TOP 20 'Code'+RIGHT('0'+CAST(ROW_NUMBER() OVER (ORDER BY codes) AS VARCHAR(10)), 4) num, codes FROM #cds ORDER BY codes) AS pvtPIVOT (MAX(codes) FOR num IN (Code01, Code02, Code03, Code04, Code05, Code06, Code07, Code08, Code09, Code10, Code11, Code12, Code13, Code14, Code15, Code16, Code17, Code18, Code19, Code20)) pt