将JSON列中的键,值对转换为自己的单独列

时间:2018-11-26 09:22:29

标签: json postgresql

我有一个只有两列的表,一个uuid列和一个包含JSON的json_data列。所以桌子看起来像这样...

uuid    json
uuid1   {'0.25': '1.0', '0.5': '2.0'}
uuid2   {'0.25': '4.0', '0.5': '8.0'}

我想要的输出是将每个json键作为自己的列使用,换句话说,将其设置为宽格式。我可以使用json_each函数

将表格转换为长格式
SELECT uuid, json_each(json) AS key_values
FROM mytable;

返回

uuid    key_values
uuid1   ('0.25', '1.0')
uuid1   ('0.5', '2.0')
uuid2   ('0.25', '4.0')
uuid2   ('0.5', '8.0')

但是我理想中想要的是...

uuid    0.25    0.5
uuid1   1.0     2.0
uuid2   4.0     8.0

0 个答案:

没有答案