按键和值查询where子句中的json_array

问题描述 投票:0回答:1

我有一个选择查询,女巫返回了一个array_to_json对象。我想根据特定的键和值筛选选择的结果。

这是我的实际查询:

select jsonarray
from (
         SELECT body.id_user,
                array_to_json(array_agg(row_to_json(body))) as jsonarray
         FROM (
                  SELECT  id_user, name, value
                  FROM table_1
                  group by id_user, name, value
              ) body
         group by body.id_user
     ) as test;

它返回很多这样的行:

[{"id_user": 1489, "name": "name 1", "value": "value aaaaaa"},  {"id_user": 1489, "name": "name 2", "value": "value babababab"}]

[{ "id_user": 1490, "name": "name 12", "value": "value aaaaaa"  }, { "id_user": 1490, "name": "name 2",  "value": "value babababab" }]

[ { "id_user": 1491, "name": "name 13", "value": "value aaaaaa"  }, { "id_user": 1491,  "name": "name 23",  "value": "value uouououo" }]

好吧,我只希望将具有字段“ name”:“ name 2”,“ value”:“ value babababab”的行放入json ...我已经尝试过

select jsonarray->'name'
from (
....
     ) as test
where jsonarray->>'name'::text = 'name 2';

但是它什么也不返回。还有另一种查询方式?

sql postgresql where-clause
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.