[英]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.