是否可以在 BigQuery 中使用 SPLIT() 创建的数组上使用 STRING_AGG 进行连接

问题描述

我正在尝试使用 string_agg 连接使用 SPLIT() 创建的数组。

我尝试连接的数组的代码如下所示:

ARRAY (
   SELECT AS STRUCT
     SPLIT(CustomField.SubComponents,' | ') AS Name
 ) AS SubComponents,

我使用 LEFT JOIN UNnesT (Subcomponents) AS Subcomponents

在我的连接中有未嵌套的 Supcomponents

但是,我收到以下错误No matching signature for aggregate function STRING_AGG for argument types: ARRAY <STRING>

解决方法

我刚刚想通了,我不得不取消嵌套两次,一次是 LEFT JOIN UNNEST (Subcomponents) AS Subcomponents

然后再次作为 LEFT JOIN UNNEST (SubComponents.Name) AS SubComponentsName

这让我可以成功地使用 string_agg。