BigQuery中的表函数和FLATTEN

时间:2014-04-02 21:35:16

标签: sql google-bigquery flatten

是否可以同时使用FLATTENTABLE_QUERY功能?

看起来TABLE_QUERY只返回表名,FLATTEN也需要数据集。

FROM子句:

FROM FLATTEN(TABLE_QUERY(nbr_pcrf, 'table_id CONTAINS "dump_"'), quotas) d

错误:

  

查询失败   错误:无法解析表名:缺少数据集名称。   职位编号:nbr-data-storage:job_44jU_diWnh4tk27UxDxFP-I5Rbg

1 个答案:

答案 0 :(得分:2)

这实际上有点误导:发生的事情是FLATTEN()任何不仅仅是表名的东西都需要一组额外的括号来区分你从表中展平的字段。换句话说,如果你这样做

SELECT ... FROM FLATTEN(TABLE_QUERY(...), foo)

foo字段被解释为联合表名称(如SELECT * from bar,foo中所示)。

此问题的解决方法很简单:添加另一组括号。那就是:

SELECT ... FROM 
FLATTEN((TABLE_QUERY(nbr_pcrf, 'table_id CONTAINS "dump_"')), quotas)