BigQuery - 将每行的字符串数组与“null”连接起来

BigQuery - concatenate array of strings for each row with `null`s

这是 上的 clarification/follow-up,其中我没有指定空值要求。

鉴于此输入:

Row     id      app_date    inventor.name   inventor.country
1       id_1    01-15-2022  Steve           US
                            Ashley          US
2       id_2    03-16-2011  Pete            US
                            <null>          US
                            Mary            FR

我需要从 inventor 结构中提取 name 并为每个 id 连接它们,如下所示:

Row     id      app_date    inventors   
1       id_1    01-15-2022  Steve, Ashley
2       id_2    03-16-2011  Pete, ^, Mary

请注意 null 值的自定义填充 - 在我看来,这似乎意味着我需要专门使用支持此功能的 ARRAY_TO_STRING

closest example I found 不适用于 null。如何做到这一点?

下面使用

SELECT * EXCEPT(inventor), 
  (SELECT STRING_AGG(IFNULL(name, '^'), ', ') FROM t.inventor) inventors
FROM sample t      

有输出