【发布时间】:2021-02-28 08:16:03
【问题描述】:
我正在尝试在存储 JSON 有效负载的 JSONB 列上运行选择不同计数查询查询,并且在正确处理它时遇到了无穷无尽的麻烦。
我设法从下面的有效负载中检索了数组 EmployeeData 的计数,但其中有一个摘要对象,其中有一个名为 FileNumber 的元素。 JSONB 存储在名为 event 的列中
"EmployeeData": [
{
"Summary": {
"FileNumber": "123456789",
"FamilyName": "test",
"FirstName": "test",
"OtherName": "",
"Pay": 7942.41,
"Amount": 26311.00,
"Other": 3000.00
},
]
我可以成功运行这个查询
select DISTINCT event -> 'EmployeeData' as Data from mobile.payrun
但是,如果我尝试
select DISTINCT event -> 'EmployeeData' --> 'FileNumber' as Data from event_table
它不起作用
有人可以告诉我查询应该是什么以获得 FileNumber 元素上的 DISTINCT 计数
提前感谢您的帮助。
【问题讨论】:
-
'EmployeeData' --> 'FileNumber' :: 你有一个键“Summary”,所以这个引用可能是错误的。
-
如果
EmployeeData数组中有多个元素怎么办?你想得到所有这些吗?还是只是第一个?
标签: sql postgresql jsonb