gpt4 book ai didi

sql - 如何从 PostgreSQL 中的 jsonb 获取特定对象?

转载 作者:行者123 更新时间:2023-11-29 12:01:34 25 4
gpt4 key购买 nike

我有一个名为“测试”的表,其中包含两个字段“qnId”和“答案”。'qnId' 存储一个 uuid,'Answers' 是一个 jsonb 数组,大致如下所示:

[{ "user" : "1", "ans" : "some text" }, { "user" : "3", "ans": "some text"}]

如何检索 “user”“ans” 的值为 3。如何使用普通 SQL 查询检索值

最佳答案

尝试这样的事情:

select
x ->> 'ans' as user_3_ans
from
jsonb_array_elements('[{ "user" : "1", "ans" : "some text 1" }, { "user" : "3", "ans": "some text 3"}]'::jsonb) as x
where
x ->> 'user' = '3'

相同,但来自表格:

with

table1 as (
select
1 as id,
'[{ "user" : "1", "ans" : "some text 1" }, { "user" : "3", "ans": "some text 3"}]'::jsonb as answers
)

select
id,
answers,
el ->> 'ans' as user_3_ans
from
( select
id,
answers,
jsonb_array_elements(answers) as el
from
table1) as x
where
el ->> 'user' = '3'

关于sql - 如何从 PostgreSQL 中的 jsonb 获取特定对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57339793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com