【发布时间】:2020-04-08 11:23:22
【问题描述】:
如何更新 BigQuery 中重复字段中的特定项目?
例如,我只想更新匹配评论id = 1 的 cmets,它的 BigQuery SQL 语法是什么?
{
"id": 1,
"name": "Data A",
"comments": [
{
"timestamp": 1586333435,
"id": 1,
"comment": "Hello World"
},
{
"timestamp": 1586333635,
"id": 2,
"comment": "Hello World 2"
}
]
}
我的更新语句使用如下,但它替换了整个数组。
UPDATE `projectA.dataSetA.Post`
SET comments = ARRAY(
SELECT AS STRUCT * REPLACE('Hello World Now' AS comment) FROM UNNEST(comments) AS c WHERE c.id=1)
WHERE id='1';
【问题讨论】:
-
数据中有两个 id。请显示您想要的结果。
-
id是指评论的id
标签: python sql google-bigquery dml