sql - Postgres 9.4 : Include sibling column in each jsonb array result

标签 sql json postgresql

如果我有一个这样的表:

office_id int
employees jsonb

数据看起来像这样:

1
[{ "name" : "John" }, { "name" : "Jane" }]

有没有一种简单的方法来查询,使结果看起来像这样:

name,office_id
John,1
Jane,1

我一直在阅读json functions似乎这是可能的,但我似乎无法弄清楚。我宁愿不必在每个嵌套对象上存储 office_id。

最佳答案

您可以使用json_array_elements来扩展json数组

select id , json_array_elements(employees)->>'name' from mytable

http://sqlfiddle.com/#!15/9a847/5

关于sql - Postgres 9.4 : Include sibling column in each jsonb array result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33717084/

相关文章:

mysql - MySQL中实现where条件varchar字段

sql - 存储简单正则表达式的高效方法

postgresql - 了解为什么我的 Postgres 查询在没有索引的情况下更快

Django:加密密码到遗留(不是auth_user)表

sql - 加入多个表/约束或 has_one_through 与次要约束

sql - 如何删除 SQL Plus 假脱机中不必要的换行符?

c# - 在 ASP.NET 2.0 中,我应该使用什么将 DataTable 序列化为 JSON?

sql - 如何搜索整个单词是否存在于 Postgres 的字符串中

javascript - Ruby 生成的 JSON 与 JavaScript 的 JSON 解析器不兼容

java - jackson 在序列化时不包含字段的类型信息