Следуя примерам, найденным здесь, на https://cloud.google.com/bigquery/sql-reference/dml-syntax, мы придумали способ обновить 3-й уровень таблицы (спецификации. размеры) как таковой:
UPDATE sd97dwo.DetailedInventory
SET specifications.dimensions =
STRUCT<depth FLOAT64, height FLOAT64, width FLOAT64>(1, 2, 3)
WHERE
product like '%washer%'
AND EXISTS(select 1 from unnest(comments) as c where c.comment like '%comment%')
Что мы сейчас пытаемся сделать, так это обновить таблицу, чтобы ДОБАВИТЬ запись в ту же самую структуру измерений. Однако разные способы, которые мы пытаемся, не увенчались успехом. Хотел посмотреть, есть ли у кого-нибудь идеи. Самым близким из полученных нами результатов был приведенный ниже, но он, конечно, возвращает все записи (в виде нескольких результатов) для спецификаций. Размеры, поэтому мы получаем ошибку «Скалярный подзапрос создал более одного элемента»
UPDATE sd97dwo.DetailedInventory
SET specifications.dimensions
= (SELECT specifications.dimensions
UNION ALL
SELECT STRUCT<depth FLOAT64, height FLOAT64, width FLOAT64>(4.0,5.0,6.0))
WHERE
product like '%washer%'
AND EXISTS(select 1 from unnest(comments) as c where c.comment like '%comment%')