我有一个JSON,看起来像这样:
第一个月
我想从所有字段中获取所有数据,所以它最终看起来像这样:
| 用户标识|电子邮件|更新于|核实净收入|
| --|--|--|--|
| 1 |AAA| AAA| AAA|
| 1 |BBB| BBB| BBB|
| 1 |CCC| CCC| CCC|
有多个user_id,所以json字段中的条目数量可能会有所不同。
我尝试对每个user_id执行一个opr一个,但是由于条目的数量可能会有所不同,我不知道应该尝试多少条目。
编辑:每个user_id都有一个JSON,到目前为止,我的查询是这样的:
SELECT user_id, json_field
FROM users
字符串
2条答案
按热度按时间wkyowqbh1#
可以使用jsonb_array_elements函数从列表中提取所有条目。
字符串
| 电子邮件|更新于|核实净收入|
| --|--|--|
| AAA| AAA| 111 |
| BBB| BBB| 222 |
| CCC| CCC| 333 |
但是我不知道
user_id
属性是从哪里来的。编辑
考虑到每条记录都有一个JSON字段和
user_id
,那么查询看起来有点不同。我称之为“老派方法”,首先扁平化(这里使用横向连接),然后查询。t
CTE是对实际表的模仿。型
| 用户标识|电子邮件|更新于|核实净收入|
| --|--|--|--|
| 1 |AAA| AAA| 111 |
| 1 |BBB| BBB| 222 |
| 1 |CCC| CCC| 333 |
1l5u6lss2#
有一个
json_populate_recordset()
函数用于此目的:demo字符串
| 用户标识|电子邮件|更新于|核实净收入|
| --|--|--|--|
| 1 |AAA| AAA| AAA|
| 1 |BBB| BBB| BBB|
| 1 |CCC| CCC| CCC|
首先设置一个表/type,显示您希望
json
Map到的结构,然后给予该函数一个该表/类型的示例记录沿着目标json
值,它将为您处理所有这些。