Как поворачивать заголовки столбцов в строках - PullRequest
0 голосов
/ 19 марта 2012

У меня есть таблица как следующая

   ID   FName    LName
   r1   Tom      Patrik
   r2   Jerry    Blaku
   r1   Ethan    Lie

Я хотел бы что-то вроде следующегоМожно ли добиться этого с помощью команды sql Server Pivot (или любой другой), если да, я действительно буду признателен за TSQL за это

1 Ответ

2 голосов
/ 19 марта 2012

Я уверен, что есть лучшие способы сделать это. Но так как вы пытаетесь повернуть несколько столбцов, вот уродливое решение:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...