使用不同表中的行“扩展”BigQuery 数组
Posted
技术标签:
【中文标题】使用不同表中的行“扩展”BigQuery 数组【英文标题】:"Extend" a BigQuery array using rows in a different table 【发布时间】:2021-04-25 16:23:37 【问题描述】:我有两个 BigQuery 表,第一个称为 model_results
,包含两列 model_name
(字符串)和 vars
(包含元素 id
和 value
的重复记录),第二个表称为 @ 987654330@ 包含两列 model_name
(字符串)和 vars_details
(重复记录与元素 id
和 description
)。例如:
基本上我想要做的是使用model_results
并使用model_details
中的信息“扩展”它。也就是说,对于model_results
中具有某个model_name
的每一行,我想在model_details
中查找具有相同model_name
的行,并将vars_details
从model_results
“追加”到该行。在上面的示例中,输出将是:
我对 BigQuery 数组、结构和 UNNEST
的了解并不多,这就是我至今未能成功的原因。非常感谢任何帮助!
【问题讨论】:
【参考方案1】:考虑下面
select model_name,
array(
select as struct t.*, description
from t1.vars t
join t2.vars_details
using(id)
) vars
from `project.dataset.model_results` t1
join `project.dataset.model_details` t2
using(model_name)
如果应用于您问题中的样本数据 - 输出是
【讨论】:
以上是关于使用不同表中的行“扩展”BigQuery 数组的主要内容,如果未能解决你的问题,请参考以下文章