如何解决对结构数组的Presto查询返回单独的结构元素作为列而不是结构行
这是示例数据,并带有实际结果和所需结果的预先查询。
WITH
dataset AS (
SELECT
ARRAY[
CAST(ROW('Sally','engineering') AS ROW(name VARCHAR,department VARCHAR)),CAST(ROW('John','finance') AS ROW(name VARCHAR,department VARCHAR))
] AS users
)
select t.*
from dataset
cross join unnest(users) as t
输出返回2列: 名称和部门以及2行。
所需的输出: 1列struct类型和2行。
如何预先获得所需的结果?有可能吗?
预先感谢
解决方法
您正在观察的行为是SQL标准行为。
您可以通过以下方式获得所需的输出
SELECT ROW(t.name,t. department)
或者通过防止unnest
用transform()
“拆包”行:
CROSS JOIN UNNEST(transform(users,u -> ROW(u)) as t
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。