обновление bigquery из командной строки с использованием стандартного SQL вызывает слишком много позиционных аргументов - PullRequest
0 голосов
/ 07 октября 2018

Я бы хотел сделать очень простой DML для обновления таблицы в BigQuery с использованием стандартного SQL, но, похоже, я не могу сопоставить другие таблицы в обновлении, кроме той, которую я обновляю.

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'...]

1 Ответ

0 голосов
/ 07 октября 2018

решаемая.

Поскольку вы можете использовать SELECT непосредственно в оболочке bq (без query), я подумал, что смогу сделать то же самое при использовании UPDATE или DELETE.Но дело в том, что для запуска DMLs вам нужно будет использовать query, и с оболочкой гораздо проще использовать команду bq query.

Насколько я понимаю, вы можетене используйте update с параметром inner join, только предложение in.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...