Sql BigQuery:Github公共数据上的运算符没有匹配的签名

Sql BigQuery:Github公共数据上的运算符没有匹配的签名,sql,github,google-bigquery,Sql,Github,Google Bigquery,我试图从Google BigQuery中的GitHub公共数据中获取一些统计数据 在示例数据库上运行此查询时,效果良好: 选择lang.name,计数(1)次提交 从'bigquery public data.github\u repos.sample\u提交'c 在l.repo\u name=c.repo\u name上加入`bigquery public data.github\u repos.languages`l, unnest(l.语言)为lang 按lang.name分组 按说明订货

我试图从Google BigQuery中的GitHub公共数据中获取一些统计数据

在示例数据库上运行此查询时,效果良好:

选择lang.name,计数(1)次提交
从'bigquery public data.github\u repos.sample\u提交'c
在l.repo\u name=c.repo\u name上加入`bigquery public data.github\u repos.languages`l,
unnest(l.语言)为lang
按lang.name分组
按说明订货
但当我将查询更改为完整提交数据库时:

选择lang.name,计数(1)次提交
从`bigquery public data.github_repos.commissions`c
在l.repo\u name=c.repo\u name上加入`bigquery public data.github\u repos.languages`l,
unnest(l.语言)为lang
按lang.name分组
按说明订货
我得到这个错误:

No matching signature for operator = for argument types: STRING, ARRAY<STRING>. Supported signature: ANY = ANY at [3:57]
对于参数类型:字符串、数组,运算符=没有匹配的签名。支持的签名:ANY=anyat[3:57]
请参阅
提交
表上的
repo\u name
字段。 这真的很奇怪,因为
repo\u name
类型在
commits
sample\u commits
表中都是
String


我做错了什么?

repo\u name
在提交表中被定义为
字符串重复
,因此您需要像处理数组一样处理它。

下面应该解决您当前的问题

SELECT lang.name, COUNT(1) commits
FROM `bigquery-public-data.github_repos.commits` c
join `bigquery-public-data.github_repos.languages` l on l.repo_name in unnest(c.repo_name),
unnest (l.language) as lang
GROUP BY lang.name
ORDER BY commits DESC

我需要在查询中对此做什么更改?l.repo_name=ARRAY_to_STRING(c.repo_name,”)是一种方法?