首页 > 解决方案 > 是否可以在使用 SPLIT() IN BigQuery 创建的数组上使用 STRING_AGG 进行连接

问题描述

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

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

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

我在我的连接中使用了未嵌套的 SupcomponentsLEFT JOIN UNNEST (Subcomponents) AS Subcomponents

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

标签: splitgoogle-bigqueryunneststring-agg

解决方案


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

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

这使我能够成功使用 string_agg。


推荐阅读