根据文档here ,我应该能够引用表通配符函数作为别名:
...
FROM
[project_name:]datasetId.tableId |
(subselect_clause) |
table wildcard function
[[AS] alias]
...
但是,当我尝试这样做时,事情失败了:
bq query "SELECT * FROM TABLE_QUERY(my_data, \"TIMESTAMP(table_id) BETWEEN TIMESTAMP('2014-05-21') AND TIMESTAMP('2014-06-10')\") AS blah WHERE blah.foo = 5 LIMIT 30"
Waiting on bqjob_some_id ... (0s) Current status: DONE
BigQuery error in query operation: Error processing job 'some_id': Field 'blah.foo' not found in table 'mydata.20140521'; did you mean 'foo2'?
我想对通配符函数返回的数据进行联接,将其视为单个表,因此别名对我来说非常重要。有想法吗?
最佳答案
您链接到的页面确实提到“不要将别名与表通配符函数一起使用。”
你可能想尝试
SELECT *
FROM (SELECT * FROM TABLE_QUERY(--insert query here--)) AS blah
WHERE blah.foo = 5 LIMIT 30"
关于google-bigquery - BigQuery 表通配符函数别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24150751/