Sql 在Google大查询中将两个数组合并在一起
我试图获取两个数组,并将它们连接在一起。如果数据来自记录,我在以前的数据迭代中取得了很好的成功,但是这两个不同的数组给我带来了问题 我在这个结构中有JSON:Sql 在Google大查询中将两个数组合并在一起,sql,arrays,group-by,google-bigquery,Sql,Arrays,Group By,Google Bigquery,我试图获取两个数组,并将它们连接在一起。如果数据来自记录,我在以前的数据迭代中取得了很好的成功,但是这两个不同的数组给我带来了问题 我在这个结构中有JSON: {“演员”:“蒂姆·库里”,“片名”:[“洛奇恐怖电影秀”,“威武麦克斯”,“斯帕马洛特”],“结果”:[“提名奖”,“提名奖”,“赢得Whatsonstage.com奖]} 这样一个BQ表看起来像这样 我试图将两个数组连接在一起,将一个数组的索引位置与另一个数组的索引位置相匹配,最终得到以下结果 我相信我需要一个类似以下内容的语句:
{“演员”:“蒂姆·库里”,“片名”:[“洛奇恐怖电影秀”,“威武麦克斯”,“斯帕马洛特”],“结果”:[“提名奖”,“提名奖”,“赢得Whatsonstage.com奖]}
这样一个BQ表看起来像这样
我试图将两个数组连接在一起,将一个数组的索引位置与另一个数组的索引位置相匹配,最终得到以下结果
我相信我需要一个类似以下内容的语句:
selectactor,ARRAY-TO-STRING(movie-u-and-u-award,“,”)来自t的movie_and_award
但我不知道如何生成传递给数组的movie_and_award
数组,下面的字符串是用于BigQuery标准SQL的
#standardSQL
SELECT actor,
ARRAY_TO_STRING(ARRAY(
SELECT x || ' : ' || y
FROM UNNEST(t.title) x WITH OFFSET
JOIN UNNEST(t.result) y WITH OFFSET
USING(OFFSET)
), ', ') movie_and_award
FROM `project.dataset.table` t
如果要应用于问题中的样本数据,则输出为
Row actor movie_and_award
1 Tim Curry Rocky Horror Picture Show : Nominated for Award, Mighty Max : Nominated for Award, Spamalot : Won Whatsonstage.com Award
下面是BigQuery标准SQL
#standardSQL
SELECT actor,
ARRAY_TO_STRING(ARRAY(
SELECT x || ' : ' || y
FROM UNNEST(t.title) x WITH OFFSET
JOIN UNNEST(t.result) y WITH OFFSET
USING(OFFSET)
), ', ') movie_and_award
FROM `project.dataset.table` t
如果要应用于问题中的样本数据,则输出为
Row actor movie_and_award
1 Tim Curry Rocky Horror Picture Show : Nominated for Award, Mighty Max : Nominated for Award, Spamalot : Won Whatsonstage.com Award