我有一个 json 字符串'{"1001": "20", "1002": "30", "1003": "50"}',我用这个 select 语句把它变成了一个列
SELECT json_each_text (vdn_weight) as weightage
FROM aa_dev.sdg_metadata;
现在我想把它转换成一个二维数组,这样逗号分隔的值就像
arr[1][1] = 1001
arr[1][2] = 1002
arr[1][3] = 1004
arr[2][1] = 20
arr[2][2] = 30
arr[2][3] = 50
我试图编写一个查询来更新上面的选择语句并删除圆括号
With CTE
AS
(SELECT json_each_text (vdn_weight) as weightage
FROM data )
UPDATE CTE
set CTE.weightage = regexp_replace(CTE.weightage, '[\(\) "]', '', 'g');
但是这个查询给了我一个错误
SQL Error [42P01]: ERROR: relation "cte" does not exist
Position: 105
除了二维数组,还有什么更好的解决方案或更好的数据结构?我不能使用临时表或表。
