【问题标题】:BigQuery updating regular field with record fieldBigQuery 使用记录字段更新常规字段
【发布时间】:2026-01-04 16:25:01
【问题描述】:

我有一张表,其中包含很少的常规字段和一个重复的记录字段: batch_number<INT64>, data array(start_date<DATE>, end_date<DATE>, ...)。我正在尝试根据嵌套字段中的条件更新 batch_number 字段。但我的更新更改了表中的所有行:

UPDATE ds.table as t
SET batch_number = 2
FROM ds.table i, UNNEST(data) as u
WHERE u.start_date = '2021-03-04'

为什么会这样?就我而言,什么是正确的语法?谢谢!

【问题讨论】:

    标签: arrays google-bigquery nested


    【解决方案1】:

    你可以试试下面的SQL:-

    UPDATE ds.table 
    SET batch_number = 2 
    WHERE '2021-03-04' IN (SELECT start_date FROM UNNEST(data)) 
    

    【讨论】:

    • 谢谢你,这就是我要找的!
    最近更新 更多