Presto Query de array de structs retorna elementos de struct individuais como colunas em vez de linhas de structs
Aug 15 2020
Aqui estão dados de amostra e consultas prontas com resultados reais e resultados desejados.
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
Saída Retorna 2 colunas : nome e departamento e 2 linhas.
Saída desejada : 1 coluna do tipo struct e 2 linhas.
Como faço para obter o resultado desejado no presto? É possível?
Desde já, obrigado,
Respostas
2 PiotrFindeisen Aug 15 2020 at 13:44
O comportamento que você está observando é o comportamento padrão do SQL.
Você pode obter a saída desejada com
SELECT ROW(t.name, t. department)
ou, impedindo o unnestde "desempacotar" as linhas com um transform():
CROSS JOIN UNNEST(transform(users, u -> ROW(u)) as t
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino