如何将数组转换为具有固定键的地图数组

问题描述 投票:0回答:1

假设我有一列数组类型,例如[1,2,3,4]。我想把它变成类似

[{‘id’:1}, {‘id’:2}, {‘id’:3}, {‘id’:4}]
的东西。因此从技术上讲,使用双键。这可能吗?

我尝试了 MAP,但因重复键警告而失败

sql presto trino
1个回答
0
投票

map
将创建一个地图,您需要将整数数组转换为地图数组,因此请使用
transform
:

-- sample data
WITH dataset (arr) AS (
    values (array[1,2,3,4])
)

-- query
SELECT transform(arr, i -> map(array['id'], array[i]))
FROM dataset;

输出:

              _col0               
----------------------------------
 [{id=1}, {id=2}, {id=3}, {id=4}] 
© www.soinside.com 2019 - 2024. All rights reserved.