【发布时间】:2023-01-16 23:25:51
【问题描述】:
WITH key_value AS
(
SELECT e
FROM headers
CROSS JOIN UNNEST(CAST(json_parse(headers) AS array(json))) t(e)
)
SELECT
CAST(JSON_PARSE(e) AS map(varchar, varchar)) AS value
FROM
key_value
{
"headers": [{
"key": "Name",
"value": "xxxx"
},
{
"key": "Email",
"value": "xxxx"
},
{
"key": "ID",
"value": "1234"
},
{
"key": "Company",
"value": "XYZ"
},
{
"key": "Groups",
"value": "[]"
},
{
"key": "Address",
"value": "xxxx"
},
{
"key": "State",
"value": "Log In"
},
{
"key": "Component",
"value": "xxxx"
},
{
"key": "LastUsed",
"value": "xxxx"
}]
}
到目前为止,我已经尝试过这段代码,第一部分似乎有效,它似乎给了我最内在的 JSON 对象,但可以将它们转换为单独的列对象。
我需要将每个标题数组变成一行,其中键作为列,值作为数据。
【问题讨论】:
标签: sql amazon-web-services amazon-athena presto trino