SELECT * FROM ( Select FormatID, Name , v.value('./@Index', 'int') MyIndex , v.value('./@TabFormat', 'varchar(255)') TabFormat --, v.value('./@PrintTabFormat', 'varchar(255)') PrintTabFormat FROM Formats CROSS APPLY Data.nodes('//SeqTabFmt') TempXML(v) ) AS SRC PIVOT( Max(TabFormat) FOR MyIndex IN ( [0], [1],[2],[3],[4],[5],[6],[7],[8] )) AS PVT1 Order by FormatID