ish*_*243 2 sql presto amazon-athena
我有一个像下面的表格,其中包含列A(int)和B(string):
A B
1 a,b,c
2 d,e
3 f,g,h
Run Code Online (Sandbox Code Playgroud)
我想创建如下输出:
A B
1 a
1 b
1 c
2 d
2 e
3 f
3 g
3 h
Run Code Online (Sandbox Code Playgroud)
如果有帮助,我将在Amazon Athena(基于presto)中进行此操作。我知道presto提供了将字符串拆分为数组的功能。从presto 文档:
split(字符串,定界符)?array
在定界符上分割字符串并返回一个数组。
虽然不确定如何从这里继续。
unnest在返回的数组上使用split。
SELECT a,split_b
FROM tbl
CROSS JOIN UNNEST(SPLIT(b,',')) AS t (split_b)
Run Code Online (Sandbox Code Playgroud)