我有一张表格用于存储关于我的兔子的信息。它看起来像这样:
create table rabbits (rabbit_id bigserial primary key, info json not null);
insert into rabbits (info) values
('{"name":"Henry", "food":["lettuce","carrots"]}'),
('{"name":"Herald","food":["carrots","zucchini"]}'),
('{"name":"Helen", "food":["lettuce","cheese"]}');
我该如何找到喜欢胡萝卜的兔子?我想到了这个方法:
select info->>'name' from rabbits where exists (
select 1 from json_array_elements(info->'food') as food
where food::text = '"carrots"'
);
我不喜欢那个查询。它很混乱。
作为一名全职养兔人,我没有时间更改我的数据库模式。我只想正确地喂养我的兔子。有没有更易读的方法来执行那个查询?
{"a":[{"id":1,mark:23},{"id":2,mark:45}], "b":[{"id":4324,mark:21233},{"id":2131,mark:52123}]}
,我想要找出是否有这样的组合可用:{"a":{"id":1,mark:23}, "b":{"id":2131,mark:52123}}
。 - Veloxigami