Я уверен, что есть лучшие способы сделать это. Но так как вы пытаетесь повернуть несколько столбцов, вот уродливое решение:
create table #temp
(
id int,
fname varchar(50),
lname varchar(50)
)
insert into #temp values(1, 'Tom', 'Patrik')
insert into #temp values(2, 'Jerry', 'Blaku')
SELECT 'fname', P.Tom as '1', P.Jerry as '2'
FROM
(
SELECT fname
FROM #temp
) I
PIVOT
(
min(fname)
FOR [fname] IN ([Tom], [Jerry])
) as P
UNION
SELECT 'lname', P.Patrik as '1', P.Blaku as '2'
FROM
(
SELECT lname
FROM #temp
) I
PIVOT
(
min(lname)
FOR [lname] IN ([Patrik], [Blaku])
) as P
drop table #temp