如何在Presto中将两个键映射添加到values(array)一起?

时间:2019-11-14 10:04:48

标签: presto

我有这个查询,可以给我这个。 enter image description here

但是我正在寻找的是这个。

{"accountnumber":"A00000065","invoice":{"ids":["2c92c09a693316310169384472126a0d"], "numbers":["INV00000270"]}}

我已经尝试过使用map_concat来避免运气。 enter image description here

https://prestodb.io/docs/current/functions/map.html

更新:如果我执行以下操作,那么它将起作用。

map_concat(multimap_agg('number', invoice.invoicenumber), multimap_agg('id', invoice.id))

但是如果我更改为

map_concat(multimap_agg('number', invoice.invoicenumber), multimap_agg('id', invoice.balance))

我收到此错误

行1:23:函数map_concat的意外参数(map(varchar(6),array(varchar)),map(varchar(2),array(decimal(18,6))))。预期:map_concat(map(K,V))K,V

1 个答案:

答案 0 :(得分:0)

它应该在注释中,但是太长了。 如果不起作用,我将删除答案。

尝试一下:

SELECT map_concat(multimap_agg('ids', invoice.id), multimap_agg('numbers', invoice.invoicenumber))
FROM ...