Q&A for power users of web applications
CREATE table #yourtable ([Id] int, [Value] varchar(6), [ColumnName] varchar(13)) ; INSERT INTO #yourtable ([Id], [Value], [ColumnName]) VALUES (1, 'John', 'FirstName'), (2, '2.4', 'Amount'), (3, 'ZH1E4A', 'PostalCode'), (4, 'Fork', 'LastName'), (5, '857685', 'AccountNumber') ; select Firstname, Amount, PostalCode, LastName, AccountNumber from ( select value, columnname from #yourtable ) d pivot ( max(columnname) for columnname in (Firstname, Amount, PostalCode, LastName, AccountNumber) ) piv;