我想做非常简单的 DML 来使用标准 SQL 更新 BigQuery 中的表,但除了我正在更新的表之外,我似乎无法关联更新中的任何其他表。
update dataset.interaction set field = true
where anotherField in (select field from dataset.anotherTable)
或
update dataset.interaction i
inner join dataset.anotherTable o on o.joinField = i.joinField
set field = true;
两个查询都引发
Too many positional args, still have ['field','=','true'...]
已解决。
由于您可以将SELECT
直接使用到 bq 外壳中(无需query
(,我认为在使用UPDATE
或DELETE
时我可以做同样的事情。但事实是 运行DMLs
,您需要使用query
并且使用命令从 shellbq query
中要容易得多。
据我所知,您不能将update
与inner join
选项一起使用,只能使用in
子句。