【发布时间】:2020-07-10 16:07:54
【问题描述】:
说,我有以下 postgres 表,
> select * from t;
+----+---------+-----------+---------+---------+
| id | a | b | c | d |
+----+---------+-----------+---------+---------+
| 1 | value_a | value_b | value_c | value_d |
+----+---------+-----------+---------+---------+
...
+----+---------+-----------+---------+---------+
|... | ... | ... | ... | ... |
+----+---------+-----------+---------+---------+
现在我想从这个表中创建一个视图,它能够存储具有嵌套 json 文本的以下格式的数据。
这应该按id 列分组。
{
"id": 1,
"a": "A",
"x":"{\"k1\":\"value_b\",\"k2\":\"{\"k21\":\"value_c\",\"k22\":\"value_d\"}\"}"
}
我不知道如何才能做到这一点。任何人都可以为此写一个 postgres sql 查询。
【问题讨论】:
-
您是否希望源表中的每一行在视图中有一行,或者涉及到一些聚合(在这种情况下,您需要显示多行数据)?
-
@GMB 您现在可以在视图中为源表中的每一行假设一行。
-
@GMB 如果我的嵌套 json 字段是来自另一个表的数组,我必须通过查询来获取?我已经更新了问题,请提供建议/答案。并保留您的原始答案。这也是我的问题的一部分。
-
在发布答案后大量更新问题不是一个好习惯。我建议接受答案(如果您认为它正确回答了您的原始问题)并提出一个新问题,提供适当的新样本数据和预期结果。
-
@GMB 是的,这是有道理的。顺便说一句,非常感谢。
标签: sql json database postgresql sql-view