google-bigquery - 从一个数据集中的表中计数,并将其添加到不同数据集中的表中的列
问题描述
我正在尝试使用 BigQuery 在 GCP 的 AI Notebooks 上运行 SQL 查询。我想计算单独数据集中表中不同行的数量,并将其添加到不同数据集中表中的列中。
不确定这是否可能。我似乎在挣扎(对 SQL 来说相对较新)。这是脚本和错误。我还没有找到完全等价的东西。基于这篇文章的代码。
%%bigquery
UPDATE `project-id.dataset1.table1` t
SET var1 = (SELECT COUNT(DISTINCT var2)
FROM `project-id.dataset2.other_table` t2
WHERE t2.id = t.id
)
FROM `project-id.dataset1.table1` t;
这会产生错误
ERROR:
400 Alias t in the FROM clause was already defined as the UPDATE target at [6:5]
如果我删除最后一行,这对我来说有点多余,我会得到一个不同的错误
ERROR:
400 UPDATE must have a WHERE clause at [1:1]
解决方案
下面使用
update `project-id.dataset1.table1` t
set var1 = (
select count(distinct var2)
from `project-id.dataset2.other_table` t2
where t2.id =t.id
)
where true;
推荐阅读
- linear-programming - 如何线性化 AND 和 OR 约束的组合
- laravel - 调用数组上的成员函数 fill()
- angular - 如何在 Angular 8 中制作相同的材质 sidenav 行为?
- algorithm - 关联文件内容以查找移动是否有效?
- c# - 如何使用跨度
在异步方法中? - javascript - webpack热加载器在代码更改时重新编译但它没有反映在输出中(app.js)
- javascript - 如何对使用 jquery 在单个图像标签中传递的所有图像应用鼠标悬停缩放效果?
- python - Findall 给我不同来源的相同物品
- angular - 在模块类中编译角度项目时出错
- php - 使用 PHP 登录 Google