繁体   English   中英

将 2 个数组数据类型列转换为 Snowflake 中的行

[英]Converting 2 array data type columns into rows in Snowflake

我有一个两列的表,它们都具有数组数据类型。 它们的数组大小相同(一个数组中的 3 个元素)。 数组列中的每个元素都与另一个数组列中相同位置的元素配对。 我想知道如何提取两个数组列中的每个元素并使用 Snowflake 将它们转换为多行。

这就是桌子的样子

header 另一个header
["a","b","c"] [1,2,3]
["d","e","f"] [4,5,6]

我想得到这样的结果

人物 数字
一个 1
b 2
c 3
d 4
e 5
F 6

提前感谢您的帮助。

您可以为此目的使用 FLATTEN:

select a1.VALUE, a2.VALUE from mytable,
LATERAL FLATTEN( col1 ) a1,
LATERAL FLATTEN( col2 ) a2
where a1.index = a2.index;

+-------+-------+
| VALUE | VALUE |
+-------+-------+
| "a"   |     1 |
| "b"   |     2 |
| "c"   |     3 |
| "d"   |     4 |
| "e"   |     5 |
| "f"   |     6 |
+-------+-------+

扁平 https://docs.snowflake.com/en/sql-reference/functions/flatten.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM