是否可以将jsonb数组数组作为表对象返回? 内部数组的大小将不始终相同。 正在使用Postgres版本9.6.6。
示例jsonb:
{
"r": [
{
"n": "name",
"rcs": [
[
{
"v": "1",
"vt": 9
},
{
"v": "2",
"vt": 9
},
{
"v": "3",
"vt": 9
}
],
[
{
"v": "4",
"vt": 9
},
{
"v": "5",
"vt": 7
}
]
]
}
]
}
预期表
+------+------+--------+
| Col1 | Col2 | Col3 |
+------+------+--------+
| 1 | 2 | 3 |
| 4 | 5 | Null |
+------+------+--------+
返回表的宽度将由所有行的最大长度确定。 较短行的多余列将具有空值。
我对Postgres完全陌生,甚至不知道从哪里开始。 据我所知:
select c from someTable,
jsonb_array_elements(data -> 'r') r,
jsonb_array_elements(r -> 'rcs') c
WHERE r->> 'n' = 'name'