我有一個使用TABLE_QUERY(),以及基於CREATION_TIME對結果進行過濾現有查詢:TABLE_QUERY失敗LAST_MODIFIED_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')
任何幫助,將不勝感激!
我知道這已經改變了嗎? 我是基於我的語法在你的帖子找到這裏: http://stackoverflow.com/questions/22734777/how-do-i-use-the-table-query-function-in-bigquery 是否有可能更新文檔以及? –
@GilAdirim該帖子發生了什麼變化? – Pentium10
@ Pentium10在我的鏈接上,你解釋了table_query()使用了與__TABLES__相同的邏輯,其中包括last_modifed_time字段;而約旦的答案意味着該邏輯通過返回__TABLES_SUMMARY__中的數據來工作,而不是。 那麼哪個是正確的? –