Bigquery 使用 Union All 和通配符删除查询
Posted
技术标签:
【中文标题】Bigquery 使用 Union All 和通配符删除查询【英文标题】:Bigquery Delete Query with Union All & Wildcards 【发布时间】:2019-09-24 10:10:50 【问题描述】:想从 bigquery 中的多个表中删除数据。
下面的删除语法正在删除没有联合全部或通配符的单个表
delete FROM `abc.analytics_151541058.events_20190201` WHERE event_date='20190201'
以下使用联合删除查询全部无效
delete FROM `abc.analytics_151541058.events_20190201` WHERE event_date='20190201'
UNION ALL
delete FROM `abc.analytics_151541058.events_20190201` WHERE event_date='20190202'
以下使用通配符的删除查询无效
delete FROM `abc.analytics_151541058.events_*`,
WHERE _TABLE_SUFFIX BETWEEN '20190201' AND '20190202'
请。帮助
【问题讨论】:
BigQuery 不支持基于通配符表的 DML。 是否需要在 bigquery 中删除多个表。请。帮助 只有当你设置一段代码来做它。 你能请。帮助我如何实现这一目标。谢谢 【参考方案1】:BigQuery scripting 现在处于测试阶段。
您现在可以简单地堆叠多个 DELETE 语句,例如:
delete FROM `abc.analytics_151541058.events_20190201` WHERE event_date='20190201'
delete FROM `abc.analytics_151541058.events_20190202` WHERE event_date='20190202'
【讨论】:
以上是关于Bigquery 使用 Union All 和通配符删除查询的主要内容,如果未能解决你的问题,请参考以下文章
BigQuery 中的 UNION ALL 或 CONCATENATE 数据集
Bigquery:根据不同的 date_trunc 多次运行查询并将结果合并,而不是多个 UNION ALL
是否可以在 Union All BigQuery SQL 中让 where 子句引用另一个 where 子句?