我在雅典娜中有一堆表,其中包含具有不同嵌套列的结构。我想将所有这些表作为单个表(即联合视图(进行查询,并且我希望只有在存在时才能够从结构中返回嵌套列,否则返回 null。
例:
Table1:
email
record: {email, first_name, last_name}
Table2:
email
record: {email, dob}
我希望能够合并这些,然后在通用电子邮件列上查询。然后执行类似record.first_name
的操作,以生成一个填充有 Table1 行中的数据和表 2 行的 null 值的列。
我尝试在属性周围包装一个 try(( 块,这导致了"无法解析列"错误。
这可能吗?还是需要在视图/联合查询中定义结构列?
您可以将record
转换为JSON
,如下所示:
SELECT
email,
CAST(record AS JSON) AS record
FROM table1
UNION ALL
SELECT
email,
CAST(record AS JSON) AS record
FROM table2
我相信你也可以投射到MAP
,但我无法弄清楚语法。