[英]How can I generate a new row and column output from a nested key in a JSONB field?
字段JSONB結構:
{
...
"field_name": "field_value",
"columns": [
...
{
"nested_key_1": "nested_value_1"
"nested_key_2": "nested_value_2"
},
{
"nested_key_1": "nested_value_1"
"nested_key_2": "nested_value_2"
},
],
}
所需輸出:
----------------------------------------------
| | nested_key_1 | "nested_key_2" |
----------------------------------------------
| 1 | nested_value_1 | nested_value_2 |
----------------------------------------------
| 2 | nested_value_1 | nested_value_2 |
----------------------------------------------
我實現這一目標的嘗試之一:
select * from (
select cast (
json_array_elements(json_field::json->'columns') as text
) as column_data from table_name
) as temp
但是,這只是將columns數組的內容添加到單個字段中。
如何獲得所需的輸出?
使用json_to_recordset
SELECT x.*
FROM pjson_table
, json_to_recordset(myjson::json) x
( nested_key_1 text
, nested_key_2 text
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.