【发布时间】:2020-07-16 18:48:38
【问题描述】:
我正在尝试查询 PostgreSQL 中的两个 information_schema 表 - 表和列,以获得以下结果:
table_name - columns_as_json_array
将这种一对多关系转换为 json 数组列。 我尝试了很多不同的方法,并想出了这样的东西:
SELECT t.table_name, c.json_columns
FROM information_schema.TABLES t
LEFT JOIN LATERAL(
SELECT table_name, json_agg(row_to_json(tbc)) AS json_columns
FROM information_schema.COLUMNS tbc
WHERE t.table_name = tbc.table_name
GROUP BY table_name
) as c ON TRUE;
这会产生一个 table_names 列表,但 json_columns 始终包含所有可用的列,而不是该特定表的列。
有什么想法吗?
【问题讨论】:
标签: sql arrays json postgresql group-by