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表达式. (编辑:上饶站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |