gpt4 book ai didi

json - 选择特定字段并从 jsonb 字段中的数组获取结果

转载 作者:行者123 更新时间:2023-11-29 14:27:30 25 4
gpt4 key购买 nike

如果我将此数据放入 jsonb 字段:

{'name': 'pratha', 'email': 'p@g.com', 'sub': { 'id': 1 } }

我能够使用此查询选择 name:

SELECT data_field->>'name' from users where ....

但是,当它们在array 中时,此查询不起作用:

[
{'name': 'pratha', 'email': 'p@g.com', 'sub': { 'id': 1 } },
{'name': 'john', 'email': 'c@d.com', 'sub': { 'id': 2 } }
]

如何选择数组中的每个 name

参见此处:http://sqlfiddle.com/#!17/22166

最佳答案

jsonb_array_elements() 进行横向交叉连接以获取数组的元素。然后您可以从每个元素中提取名称。

SELECT sr.*,
jae.e->>'name'
FROM survey_results sr
CROSS JOIN LATERAL jsonb_array_elements(sr.data_field) jae (e);

SQL Fiddle

关于json - 选择特定字段并从 jsonb 字段中的数组获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56284251/

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