我有一个名为“Test”的表,包含两个字段“qnId”和“Answers”。
“qnId”存储一个uuid,“Answers”是一个jsonb数组,大致如下:
[{ "user" : "1", "ans" : "some text" }, { "user" : "3", "ans": "some text"}]
如何用
"ans"
值检索"user"
的3
值。如何使用普通SQL查询检索值
最佳答案
demo:db<>fiddle
可以使用jsonb_array_elements()
将数组元素分别展开为一行。之后,您可以使用->>
运算符(documentation)筛选正确的元素:
SELECT
uuid,
elements ->> 'ans'
FROM
mytable,
jsonb_array_elements(answers) elements
WHERE
elements ->> 'user' = '3'
关于sql - 如何从PostgreSQL中的jsonb获取特定对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57339793/