【发布时间】:2018-09-26 08:27:40
【问题描述】:
我正在使用 Vertica DB(和 DBeaver 作为 SQL 编辑器)——我对这两种工具都是新手。
我有一个包含多个列的视图:
someint | xyz | c | json
5 | 1542 | none | {"range":23, "rm": 51, "spx": 30}
5 | 1442 | none | {"range":24, "rm": 50, "spx": 3 }
3 | 1462 | none | {"range":24, "rm": 50, "spx": 30}
(int) | (int) | (Varchar) | (Long Varchar)
我想创建上述的另一个视图(或者一开始,只是能够正确查询它),但是将“json”列分隔到各个字段/列中“范围”、“rm”和“spx”。
我想象查询/新视图的输出类似于以下内容:
someint | xyz | c | range | rm | spx
5 | 1542 | none | 23 | 51 | 30
5 | 1442 | none | 24 | 50 | 3
....
到目前为止,例如,我什至无法查询“范围”。
因此我的问题是:
如何将 json 列键值结构分成单独的列(在查询输出中)?
如何将所需的输出传输到 Vertica 中的新视图中?
我在文档中没有找到太多帮助,因为该过程是从驱动器加载 json 文本文件或对表进行操作,而我不能这样做,因为我只能访问视图。
【问题讨论】: