Заполните даты из столбца как имена столбцов - PullRequest
0 голосов
/ 24 января 2019

Форма ниже набора данных:

Column A | Column B | Column C

Monkey   | 201901   | 100

Donkey   | 201901   | 100

Banana   | 201901   | 100

Monkey   | 201902   | 100

Donkey   | 201902   | 100

Banana   | 201902   | 100

Monkey   | 201903   | 100

Donkey   | 201903   | 100

Banana   | 201903   | 100

Monkey   | 201904   | 100

Donkey   | 201904   | 100

Banana   | 201904   | 100

Я хочу вывод, подобный этому:

Animals | 201901 | 201902 | 201903 | 201904

Monkey  | 100    | 100    | 100    | 100    
Donkey  | 100    | 100    | 100    | 100    
Banana  | 100    | 100    | 100    | 100   

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Вы можете использовать пивот

select cola, max([201901]) as [201901], max([201902]) as [201902],max([201903]) as [201903], max([201904]) as [201904]
from tablename
pivot
(max(col3) for col2 in ([201901],[201902],[201903],[201904])
)pv
group by cola
0 голосов
/ 24 января 2019

Вы хотите условная агрегация:

SELECT colA AS Animals, 
       MAX(CASE WHEN colB = '201901' THEN colC END) AS 201901,
       MAX(CASE WHEN colB = '201902' THEN colC END) AS 201902,
       MAX(CASE WHEN colB = '201903' THEN colC END) AS 201903,
       . . . 
       MAX(CASE WHEN colB = '202012' THEN colC END) AS 202012
FROM table t
GROUP BY colA;
...