Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgres-jsonb-jsonb_数组_元素-检查但不返回低级json元素_Json_Postgresql_Jsonb - Fatal编程技术网

Postgres-jsonb-jsonb_数组_元素-检查但不返回低级json元素

Postgres-jsonb-jsonb_数组_元素-检查但不返回低级json元素,json,postgresql,jsonb,Json,Postgresql,Jsonb,我有下面的postgresql查询,它从一个视图view\u by\u feature正确地检查jsonb数组feature\u数据。它可以正确地查找包含json元素的条目sourceMessageIds,而忽略其他条目。每找到一个sourceMessageIds就正确返回一行。我想将此修改为:我正在寻找一种最有效的方法,使每个按功能查看时不返回一行。我知道我可以删除将sourceMessageId-sourceMessageId.sourceMessage\u数据作为sourceMessage

我有下面的postgresql查询,它从一个视图
view\u by\u feature
正确地检查jsonb数组
feature\u数据。它可以正确地查找包含json元素的条目
sourceMessageIds
,而忽略其他条目。每找到一个
sourceMessageIds
就正确返回一行。我想将此修改为:我正在寻找一种最有效的方法,使每个
按功能查看时不返回一行。我知道我可以删除将
sourceMessageId
-
sourceMessageId.sourceMessage\u数据作为sourceMessage
公开的列,并对其他列进行分组,但有没有更好的方法让它作为子json元素检查
sourceMessageId,但只返回顶级的
view\u by\u功能`数据/行?谢谢

SELECT view_by_feature.ex_name,
view_by_feature.id,
view_by_feature.feature_name,
view_by_feature.feature_id,
sourceMessageId.sourceMessage_data as sourceMessage
FROM view_by_feature,
LATERAL jsonb_array_elements((view_by_feature.feature_data -> 'sourceMessageIds'::text)) sourceMessageId(sourceMessage_data)
ORDER BY view_by_feature.ex_name