我有一个表,其中的一列包含解压的json(“ actionDetails”),有时每行有多个json。由于某些奇怪的原因,查询
SELECT "idVisit" AS visit_id,t.* FROM dl.live_last_visits_details_pvk,json_populate_recordset(null::json_type,"actionDetails" :: JSON) as t
给出我想要的确切结果-直到我跳到结果末尾,当它关闭表格并给我[22023] ERROR: cannot call json_populate_recordset on an object.
类似地,如果我尝试将此查询保存到表中,则会遇到相同的错误。
DROP TABLE IF EXISTS temp;
CREATE TEMP TABLE temp AS (
SELECT "idVisit" AS visit_id,"actionDetails" :: JSON) as t
);
SELECT * FROM temp;
有人知道是什么原因造成的(也许不是json的一些奇怪的行值?),我该如何解决呢?不知道如何搜索可能隐藏在该列值中的其他类型的对象,它是一个很大的表,所以我不能只进行筛选。我正在使用的数据有很多行并且经常更改,因此我需要编写可以处理这种奇怪情况的代码。有什么想法吗?
感谢您的时间!