小编lan*_*goh的帖子

PostgreSQL 的 WHERE 子句中不允许使用集合返回函数

我正在尝试在 2 个不同表中的 2 个 jsonb 数组之间进行连接。链接它们的 id 位于数组内部。

这是我尝试过的,我在 postgres 上创建了一个函数,它返回一个 Id 列表(来自表 B),我试图将它们与表 A 匹配。

TableA
ID | resultA 
1  | {records:[{id: 1, key: A, value: High}, {id: 2, key: B, value:Low}]}

TableB
ID | resultB
2  | {records:[{key: A, value: New Equipment}, {key: B, value: Old Equipment}]
Run Code Online (Sandbox Code Playgroud)

所以我得到了 SQL 来显示两个 Id 的 2 列

select elem-> 'key' as TableA_id from TableA, lateral jsonb_array_elements(resultA -> 'records') elem
where elem-> 'key' in (public.myfunction('999'))
Run Code Online (Sandbox Code Playgroud)

我遇到以下错误: WHERE 中不允许设置返回函数

不知道这里出了什么问题。

postgresql jsonb

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

jsonb ×1

postgresql ×1