postgresql—用于筛选JSONB数组中所有数组项满足条件的SQL查询
发布时间:2022-03-08 22:33:07 625
相关标签: # 数据库
我以前也发过类似的帖子,但因为有上下文错误而删除了它。
我数据库中的一个表包含一个JSONB列,其中包含一个JSON对象数组。这和这个例子没有什么不同session
我在下面模拟的桌子。
身份证件 | 用户id | 快照 | 插入 |
---|---|---|---|
1 | 37 | {cart:[{product_id:1,price_cents:3000,name:“product A”},{product_id:2,价格_美分:2500,名称:“product B”} | 2022-01-01 20:00:00.000000 |
2 | 24 | {cart:[{product_id:1,price_cents:3000,name:“product A”},{product_id:3,price_cents:5500,name:“product C”} | 2022-01-02 20:00:00.000000 |
3 | 88 | {cart:[{product_id:4,price_cents:1500,name:“product D”},{product_id:2,价格_美分:2500,名称:“product B”} | 2022-01-03 20:00:00.000000 |
我用来从这个表中检索记录的查询如下。
SELECT sessions.*
FROM sessions
INNER JOIN LATERAL (
SELECT *
FROM jsonb_to_recordset(sessions.snapshot->'cart')
AS product(
"product_id" integer,
"name" varchar,
"price_in_cents" integer
)
) AS cart ON true;
我一直在尝试更新上面的查询,以便仅检索sessions表中的记录全部的购物车中的所有产品都有price_in_cents
价值大于2000
.
到目前为止,我还没有成功地提出这个问题,但如果这里有人能给我指出正确的方向,我将不胜感激。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报