2017-02-06 8 views
-2

У меня есть таблица вроде этого:Преобразование строк в столбцы с помощью шарниров

col1  col2 
 
    00001  21 
 
    00001  12 
 
    00001  34 
 
    00001  36 
 
    00001  25 
 
    00002  32 
 
    00002  45 
 
    00002  64 
 
    00002  88 
 
    00002  21 
 
    ..... 
 

 
to 
 
    
 
    000001  21 12 34 36 25 
 
    000002  32 45 64 88 21 
 
....

Я знаю, что это может быть решена с шарнирами, но я не могу управлять, чтобы построить правильный запрос

любые мысли, пожалуйста?

+4

Как бы вы решили, какое значение идет, в каком из 5 новых месторождений? что ты уже испробовал? –

ответ

0

Есть много примеров в SO ... Как упоминал Hart CO, вы пробовали что-либо по этому поводу?

Проводка мой запрос для справки

;with cte as (
select *, RowN = Row_number() over (partition by col1 order by col1) from #yourtable) 
select * from cte 
pivot (max(col2) for RowN in ([1],[2],[3],[4],[5])) as p 

Для динамического списка столбцов можно изменить соответствующим образом