【发布时间】:2021-02-26 16:54:50
【问题描述】:
我的数据库中有一个表,它返回了一些列。其中之一是 JSON 列表,实际上是其他表,但采用 JSON 格式。下图显示了一个示例。
我想将该列“数据”的每一行转换为单独的表,因为我需要每个 JSON 中的特定信息。我怎样才能只使用 PostgreSQL 来做到这一点?
【问题讨论】:
标签: sql json postgresql
我的数据库中有一个表,它返回了一些列。其中之一是 JSON 列表,实际上是其他表,但采用 JSON 格式。下图显示了一个示例。
我想将该列“数据”的每一行转换为单独的表,因为我需要每个 JSON 中的特定信息。我怎样才能只使用 PostgreSQL 来做到这一点?
【问题讨论】:
标签: sql json postgresql
您可以使用以下查询创建将您的数据(json 数据列)传输到新表中
insert into json_table
SELECT p.*
from test_json t
cross join lateral json_populate_record (NULL::json_table, t.data ::json) as p;
这里 json_table 是新的表,数据将存储在其中,test_json 是您的表,其中 json 数据存储在 data 列中. 用你的表名替换那些,你就可以开始了。
【讨论】: