加入收藏 | 设为首页 | 会员中心 | 我要投稿 上饶站长网 (https://www.0793zz.com.cn/)- 数据库平台、视觉智能、智能搜索、决策智能、迁移!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2021-01-17 06:25:20 所属栏目:MsSql教程 来源:网络整理
导读:我有这样的事情: ID Result1 value12 value12 value23 value14 value14 value24 value3 我想回复这样的事情: ID Result1 Result2 Result31 value12 value1 value23 value14 value1 value2 value3 我搜索了枢轴和连续点和断点,我找不到一个简单明智的解决方

我有这样的事情:

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表达式.

(编辑:上饶站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读