【发布时间】:2021-01-14 14:15:21
【问题描述】:
如果我的表中有如下数据
WITH dataset AS (
SELECT ARRAY[
CAST(ROW('Bob', 38) AS ROW(name VARCHAR, age INTEGER)),
CAST(ROW('Alice', 35) AS ROW(name VARCHAR, age INTEGER)),
CAST(ROW('Jane', 27) AS ROW(name VARCHAR, age INTEGER))
] AS users,
CAST(ROW('Google') AS ROW(company VARCHAR)) AS company
)
SELECT * FROM dataset
预期格式如下:
{
"company": "Google",
"users": [
{
"name": "Bob",
"age": 38
},
{
"name": "Alice",
"age": 35
},
{
"name": "Jane",
"age": 27
}
]
}
如何构造从这些数据中提取的 JSON?
【问题讨论】:
-
准确运行查询时返回什么格式?
-
我得到了顶级列,如公司、用户,但没有关于嵌套键的信息,如姓名、年龄
-
prestodb python客户端返回的列如下:
[('users', 'array(row(name varchar, age integer))', None, None, None, None, None), ('company', 'row(company varchar)', None, None, None, None, None)]我不知道如何处理嵌套行
标签: sql json hierarchical-data presto amazon-athena