我正在尝试创建一个具有以下数据值的表:
{"name": "Tommy", "Age": 16, "date":{"string": "2020-10-10"}}
{"name": "Will", "Age": 20, "date":{"string": "2020-10-10"}}但是,当我尝试从select访问数据时,它会出现:{"string":"2020-10-10"},而我只需要数据值。
在create步骤中有任何解决这个问题的选项吗?例如,创建一个查找日期“string”值的表。
我知道,这是非常具体的,但如果有人知道我会非常高兴!特克斯
发布于 2022-10-14 12:05:55
解决这种情况的一个常见方法是使用视图。假设您有一个名为nested_Data的表,其中包含name、age和date列,其中date列被定义为struct<string:string>,那么您可以创建如下视图:
CREATE VIEW flat_data AS
SELECT name, age, date['string'] AS date
FROM nested_data当您运行像SELECT date FROM flat_data这样的查询时,您将只获得日期值。
当原始数据需要进行一些预处理时,视图通常是这样使用的,并且您希望避免在每个查询中包含所有这些预处理。
https://stackoverflow.com/questions/73832309
复制相似问题