我在PostgreSQL中有一个table_1,它有column_1,列中有几条记录,包含一个嵌套的json,结构如下:
{"parent_1": {
"child_1": [10.477058081076123, 12.570963520289965, 11.74866851427825],
"child_2": [14.174190848828983, 19.3920283059595, 17.6712937162821]
},
"parent_2": {
"child_1_1": [24.100638151071383, 28.544734824158617, 26.83283592992511],
"child_1_2": [14.466083025027984, 34.788137217452125, 19.018732389073737]
} }
我想将json记录转换为另一个表,以便将其作为包含数组的自定义SQL导入Tableau。
编辑1:
这是我正在尝试的查询:
SELECT * , table_1.column_1 -> 'parent_1' -> json_object_keys((table_1.column1 ->> 'parent_1')::json) FROM public.table_1
编辑2:
作为输出,我希望在Tableau中读取每个父表。在每个表中,我希望有:
表:父项_1
Childs | Value
----------------------------
child_1 | 10.477058081076123
child_1 | 12.570963520289965
child_1 | 11.74866851427825
child_2 | 14.174190848828983
child_2 | 19.3920283059595
child_2 | 17.6712937162821
1条答案
按热度按时间bzzcjhmw1#
您需要首先取消嵌套每个“父”的内部结构,然后取消嵌套每个元素的数组。
对于第一个表,您可以执行以下操作:
要对第二个表执行相同的操作,请将
column_1 -> 'parent_1'
替换为column_1 -> 'parent_2'