我有这样的事情:
ID Result 1 value1 2 value1 2 value2 3 value1 4 value1 4 value2 4 value3
我想回复这样的事情:
ID Result1 Result2 Result3 1 value1 2 value1 value2 3 value1 4 value1 value2 value3
我搜索了枢轴和连续点和断点,我找不到一个简单明智的解决方案.
TIA
解决方法
遗憾的是,Teradata没有PIVOT函数,但您可以使用带有CASE表达式的聚合函数来获取结果.
select id,max(case when seq =1 then result end) result1,max(case when seq =2 then result end) result2,max(case when seq =3 then result end) result3 from ( select id,res,row_number() over(partition by id order by result) seq from yourtable ) d group by id order by id;
如果每个ID都有更多值,则可以添加更多CASE表达式.