是否可以在子查询中使用json_populate_recordset?

时间:2017-04-20 15:17:57

标签: arrays json postgresql

我有一个带有几条记录的json数组,所有记录都有3个字段lat,lon,v。

我想从这个数组创建一个select子查询以与另一个查询连接。问题是我不能在PostgreSQL documentation工作中做出示例。

select * from json_populate_recordset(null::x, '[{"a":1,"b":2},{"a":3,"b":4}]')

应该导致:

 a | b
---+---
 1 | 2
 3 | 4

但我只得到错误:类型“x”不存在位置:45

1 个答案:

答案 0 :(得分:2)

有必要将复合类型传递给json_populate_recordset,而将列列表传递给json_to_recordset

select *
from json_to_recordset('[{"a":1,"b":2},{"a":3,"b":4}]') x (a int, b int)
;
 a | b 
---+---
 1 | 2
 3 | 4