【问题标题】:BIgQuery - No matching signature for function ARRAY_TO_STRINGBIgQuery - 函数 ARRAY_TO_STRING 没有匹配的签名
【发布时间】:2019-06-16 23:56:45
【问题描述】:

运行下面的查询后

           SELECT ARRAY_TO_STRING( reporteeNames, '|') FROM 
         `appsflow-dev.PersonRequisition.ExternalNewHire`;

我遇到错误

架构

Fieldname                           Type    Mode

reporteeNames                       RECORD  REPEATED    
reporteeNames.reporteeTitle         STRING  NULLABLE    
reporteeNames.reporteeName          RECORD  NULLABLE    
reporteeNames.reporteeName.display  STRING  NULLABLE    
reporteeNames.reporteeName.value    STRING  NULLABLE

请建议针对我的架构的解决方案。

【问题讨论】:

  • 您可能需要设置使用标准 SQL 的标志。
  • 我已经在使用标准 SQL。我检查了我的设置,选择的 SQL 方言是“标准”。
  • @AbhishekBapna - 你能澄清一下你所期待的结果吗!
  • 我期待将数组转换为字符串以显示在每一行的单元格中。下面发布的答案中给出的方法对我有用。

标签: javascript sql google-apps-script google-bigquery


【解决方案1】:

您需要取消嵌套数组才能选择结构内的字段:

SELECT
  (SELECT STRING_AGG(reporteeName, '|')
   FROM UNNEST(reporteeNames)) AS names
FROM `your-project`.dataset.table

另请参阅working with arrays documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    相关资源
    最近更新 更多