[英]Getting all the values in json array in snowflake
我有一个 JSON 数组,如下所示:
此 Json 数据位于my_table
中名为col1
的字段中
{
"JSON_DATA": {
"ID": 1,
"j_array": ["A","B"]
}
}
这是我的 SQL 来解析 JSON 数组:
SELECT col1:"JSON_DATA"."ID" as id,
v.value as j_array_values
from my_table, lateral flatten(input => col1."JSON_DATA"."j_array") v
我的 output 是
|-------------|-----------------|
| ID | j_array_values |
|-------------|-----------------|
| 1 | ["A","B"] |
|-------------|-----------------|
| 1 | ["A","B"] |
|-------------------------------|
但我希望 output 像
|-------------|-----------------|
| ID | j_array_values |
|-------------|-----------------|
| 1 | "A" |
|-------------|-----------------|
| 1 | "B" |
|-------------------------------|
我用过横向压扁,但没有用
使用FLATTEN
:
CREATE OR REPLACE TABLE my_table AS
SELECT PARSE_JSON('{"JSON_DATA": {
"ID": 1,
"j_array": ["A","B"]
}
}') AS col1;
SELECT col1:JSON_DATA:ID::INT AS id,
v.value::STRING AS j_array_values
FROM my_table, lateral flatten(input => col1:JSON_DATA:j_array) v;
Output:
+----+----------------+
| ID | j_array_values |
+----+----------------+
| 1 | A |
| 1 | B |
+----+----------------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.