我想做一个非常简单的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'...]
答案 0 :(得分:0)
已解决。
由于您可以直接将SELECT
使用到bq shell中(无需使用query
),所以我认为使用UPDATE
或DELETE
时可以这样做。但是事实是,要运行DMLs
,您将需要使用query
,并且从外壳程序使用命令bq query
会更容易。
据我了解,您不能将update
选项与inner join
一起使用,而只能使用in
子句。