在 BigQuery SQL 中压缩 Table 数组行

Condensing Table Array Rows in BigQuery SQL

我想使用 BigQuery 标准 SQL

我有一个 table 看起来像:

如何折叠每一行?例如,第 1 行看起来像:

row   Canopus_id    facebook     id      wikipedia    freebase musicbrainz    
1      10043474     21258...    Q557     Patt_Smith     /m/05qw5  d1358...

本质上,我们以这样一种方式折叠行,它会尝试为一列找到一个填充的条目,如果有一个填充的条目(在第一个或第二个单元格中),这将是该值。否则,将有一个空值。

这是一种方法:

select row,
       (select max(facebook) from unnest(facebook) facebook) as facebook,
       (select max(id) from unnest(id) id) as id,
       . . .
from t;