teradata sql将多次出现转移到其他列中

前端之家收集整理的这篇文章主要介绍了teradata sql将多次出现转移到其他列中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的事情:
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表达式.

猜你在找的MsSQL相关文章