尝试使用last_modified_time时TABLE_QUERY失败

时间:2015-05-03 07:29:02

标签: google-bigquery

我有一个使用TABLE_QUERY()的现有查询,并根据creation_time过滤结果:

SELECT 
     *
FROM (TABLE_QUERY( project_114151_dataset , "MSEC_TO_TIMESTAMP(creation_time) > DATE_ADD(CURRENT_TIMESTAMP(), -45, 'DAY') AND REGEXP_MATCH(table_id, r'^fact_[0-9]{8}$') "))

我想根据last_modified_time更改要运行的查询;因为它也是以毫秒为单位的时间戳,所以我将查询更改为如下

SELECT 
     *
FROM (TABLE_QUERY( project_114151_dataset , "MSEC_TO_TIMESTAMP(last_modified_time) > DATE_ADD(CURRENT_TIMESTAMP(), -45, 'DAY') AND REGEXP_MATCH(table_id, r'^fact_[0-9]{8}$') "))

但是,在运行时我收到以下错误:

Error: Error evaluating subsidiary query

不确定我为什么会收到此错误;我已经通过运行以下查询验证了该字段是否存在,并确实在结果中返回:

SELECT * FROM project_114151_dataset.__TABLES__ 
WHERE MSEC_TO_TIMESTAMP(creation_time)  < 
DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY')

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

TABLE_QUERY()功能中可用的唯一字段是:project_iddataset_idtable_idcreation_timetype。它们是__TABLES_SUMMARY__伪表返回的字段。 (尝试SELECT * FROM project_114151_dataset.__TABLES_SUMMARY__)。