Presto 查询结构数组 returns 单个结构元素作为列而不是结构行

Presto Query of array of structs returns individual sttruct elements as columns instead of rows of structs

这里是示例数据和带有实际结果和预期结果的预查询。

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 列结构类型和 2 行。

如何快速获得想要的结果?可能吗?

提前致谢,

您观察到的行为是 SQL 标准行为。

您可以通过

获得所需的输出
SELECT ROW(t.name, t. department)

或者,通过阻止 unnest from "unpacking" the rows with a transform():

CROSS JOIN UNNEST(transform(users, u -> ROW(u)) as t