这是示例数据和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列和2行。
如何在presto中获得所需的结果?有可能吗?
提前感谢
您观察到的行为是SQL标准行为。
您可以使用获得所需的输出
SELECT ROW(t.name, t. department)
或者通过防止CCD_;拆包";具有transform()
:的行
CROSS JOIN UNNEST(transform(users, u -> ROW(u)) as t