提问人:Saravana Kumar 提问时间:9/7/2023 更新时间:9/7/2023 访问量:33
如何在bigquery中正确取消嵌套重复/数组列?
How to unnest the repeated/array columns properly in bigquery?
问:
我试图取消嵌套两列 associate 和 manager。 表格示例如下
id | associate | manager
101 Marie Susan
Jenie Paul
当我使用下面的查询展平上述内容时
select id,associate,manager from table,
unnest(associate) as associate,
unnest(manager) as manager
我的结果将是
id | associate | manager
101 Marie Susan
101 Jenie Paul
101 Marie Susan
101 Jenie Paul
结果集只是一个示例。这些值正在成倍增加,并且不必要地显示。
我的预期结果是
id | associate | manager
101 Marie Susan
101 Jenie Paul
答:
1赞
Mikhail Berlyant
9/7/2023
#1
请考虑以下内容 (BigQuery Standard SQL)
select id, associate, manager
from your_table,
unnest(associate) associate with offset
join unnest(manager) manager with offset
using(offset)
带输出
评论
0赞
Saravana Kumar
9/7/2023
伟大。上述解决方案奏效了。但是,请考虑 manager 字段为 null,在这种情况下,联接失败且显示零条记录。
1赞
Mikhail Berlyant
9/7/2023
数组不能有 null 元素!但是,如果整个字段都是空的 - 只需使用而不是 :o)left join
join
评论