[英]Update ARRAY IN ARRAY BigQuery (GA4 Data)
I want to update a value in array with a value in another table.我想用另一个表中的值更新数组中的值。
table1:表格1:
event_params.key事件参数.key | event_params.value.string_value event_params.value.string_value |
---|---|
country国家 | US我们 |
table2:表 2:
country国家 | new_country新国家 |
---|---|
US我们 | NL荷兰语 |
I try我试试
UPDATE table1
SET event_params = ARRAY(SELECT AS STRUCT * REPLACE ( new_country AS value.string_value ) FROM UNNEST(event_params)
WHERE key = "country")
FROM(SELECT country, new_country FROM table2)
WHERE
(SELECT value.string_value from unnest(event_params) where key = 'country') = t2.country
It doesnt work.. The problem is the value.string_value because is also an array.它不起作用.. 问题是 value.string_value 因为它也是一个数组。
The final table should look like table1:决赛桌应类似于 table1:
event_params.key事件参数.key | event_params.value.string_value event_params.value.string_value |
---|---|
country国家 | NL荷兰语 |
Now I want to update table1 with table2 to udate the country from US to NL in table1.现在我想用 table2 更新 table1 以将 table1 中的国家从 US 更新为 NL。
How can I take the array in array?我怎样才能把数组放在数组中?
I also saw this code:我也看到了这段代码:
UPDATE `project.dataset.your_table` t
SET hits =
ARRAY(
SELECT AS STRUCT * REPLACE(
ARRAY(
SELECT AS STRUCT product.* REPLACE(
CASE WHEN map.raw_name = product.productCategory THEN category
ELSE productCategoryAttribute END AS productCategoryAttribute)
FROM UNNEST(product) product
LEFT JOIN UNNEST(agg_map.map) map
ON map.raw_name = product.productCategory
) AS product)
FROM UNNEST(hits) hit
)
FROM (SELECT ARRAY_AGG(row) map FROM `project.dataset.map` row) agg_map
WHERE TRUE
BigQuery UPDATE nested array field But I cant implement it. BigQuery UPDATE 嵌套数组字段但我无法实现它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.