Мне нужно обновить значения в повторяющемся поле для определенных строк в таблице BigQuery. Обновляемые строки выбираются на основе значений в повторяющемся поле. Я не могу понять, как сделать это. Например, допустим, у меня есть такая схема:
move_id: integer
color: string
moved_quants: repeated
moved_quants.quantity = integer
moved_quants.value = float
И следующие данные:
Моя цель чтобы обновить значение move_quants.value до 0,6 * количество для любой строки, которая содержит хотя бы один Move_quants.value = 0. Раньше мне приходилось выполнять ту же задачу на основе цвета, и это было относительно просто:
UPDATE
`testing`
SET
moved_quants = ARRAY(
SELECT AS STRUCT * REPLACE(0.6 * quantity AS value)
FROM
UNNEST(moved_quants)
)
WHERE color = 'red'
Однако теперь мне нужно обновить строки, в которых есть хотя бы один moved_quants.value = 0
, и я не могу понять, как это сделать. Кто-нибудь может помочь?