繁体   English   中英

在 ARRAY BigQuery 中更新 ARRAY(GA4 数据)

[英]Update ARRAY IN ARRAY BigQuery (GA4 Data)

我想用另一个表中的值更新数组中的值。

表格1:

事件参数.key event_params.value.string_value
国家 我们

表 2:

国家 新国家
我们 荷兰语

我试试

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

它不起作用.. 问题是 value.string_value 因为它也是一个数组。

决赛桌应类似于 table1:

事件参数.key event_params.value.string_value
国家 荷兰语

现在我想用 table2 更新 table1 以将 table1 中的国家从 US 更新为 NL。

我怎样才能把数组放在数组中?

我也看到了这段代码:

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 嵌套数组字段但我无法实现它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM