首页 > 解决方案 > 使用新数据更新表

问题描述

我每天都会在 bigquery 中收到包含数据的新表。

一张桌子=一个日期。

例如:costdata_01012018、costdata02012018等。

我每天都有将它们联合起来的脚本,所以我有一个包含我需要的所有数据的新表。现在我每天都会截断决赛桌,这似乎不太对劲。

有没有办法在不截断的情况下合并它们?

我只需要在最后一个表中添加一个新表

我试图创建动态查找新表的“from”指令,但它不起作用。

SELECT date, adcost
FROM CONCAT('[test-project-187411:dataset.CostData_', STRFTIME_UTC_USEC(DATE_ADD(CURRENT_TIMESTAMP(), -1, "day"), "%Y%m%d"), ']')

我究竟做错了什么?

标签: sqlgoogle-bigquery

解决方案


执行此操作的两个选项:

#standardsql
SELECT date, adcost
FROM `test-project-187411:dataset.CostData_*`
WHERE _TABLE_SUFFIX = FORMAT_DATE("%Y%m%d", DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))

旧版 SQL

#legacysql
SELECT date, adcost
FROM TABLE_QUERY([test-project-187411:dataset], 'tableid = CONCAT("CostData_", STRFTIME_UTC_USEC(DATE_ADD(CURRENT_TIMESTAMP(), -1, "day"), "%Y%m%d")')

推荐阅读