我有一个名为houses
的表,它有两列id
和一个名为details
的jsonb列。 details
列具有以下结构:
[{ kind: "flat", price: 100 }, { kind: "circle", price: 10 }]
我想获取houses
列中至少有一个对象的所有details
,其中kind
是flat
。
这是我尝试过的:
select *
FROM houses
WHERE "details"->>'kind' = 'flat'
答案 0 :(得分:1)
您可以使用jsonb_array_elements
select h.* from houses h cross join lateral
jsonb_array_elements(details) as j
where j->>'kind' = 'flat'