I'm having data like
columnname | value | table |
---|---|---|
a | 1 | X |
b | 2 | X |
a | 3 | X |
b | 4 | X |
a | 5 | X |
b | 6 | X |
and need to transform into
table | a | b |
---|---|---|
X | 1 | 2 |
X | 3 | 4 |
X | 5 | 6 |
CodePudding user response:
select tbl
,a
,b
from
(
select *, (row_number() over(order by value)-1)/2 as rn
from t
) t
pivot(max(value) for columnname in(a, b)) p
tbl | a | b |
---|---|---|
X | 1 | 2 |
X | 3 | 4 |
X | 5 | 6 |