Если вам известны значения (и вы, кажется, знаете), то условное агрегирование - это простой метод для реализации этого:
select row,
max(case when column = 1 then value end) as column1,
max(case when column = 2 then value end) as column2,
max(case when column = 3 then value end) as column2
from t
group by row;