如何解决创建一个将teradata中的字符串连接起来的新列
我的表格显示如下:
key month. nxt_month string
123 01/01/2020 02/01/2020 red,blue,red,green
123 02/01/2020 03/01/2020 green
123 03/01/2020 04/01/2020 blue,blue
124 01/01/2020 02/01/2020 red,yellow,orange
124 02/01/2020 03/01/2020 yellow
我尝试输出的是:
key month. nxt_month string
123 01/01/2020 02/01/2020 red,green
123 02/01/2020 03/01/2020 green,blue
123 03/01/2020 04/01/2020 blue,orange,yellow
124 02/01/2020 03/01/2020 yellow
例如,对于输出中的第2行,因为它返回从02/01到03/01的字符串。但是,对于第3行,由于无法获得4月的数据,因此我们只需返回第3行的3月值即可。
我已经尝试过以下代码
select key,month,case when nxt_month = lead(month,1)over(partition by key order by month) then 0 else 1 end as flag,trim(trailing',' from (XMLAGG(TRIM(string)'-' order by month)(varchar(10000)))) as pattern
from table
group by 1,2
但是这似乎是错误的,因为我不知道如何仅在flag = 0时才连接字符串,而且在这种情况下也不能按字符串分组。
任何想法都值得赞赏。谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。