临时Bigquery表上的Unnest函数

时间:2019-10-15 09:23:01

标签: sql google-bigquery

我想知道我是否可以对临时表使用嵌套?

我尝试了以下操作,但收到警告,提示未识别到匹配项。

#standardSQL
WITH ALL__TABLES__ AS (
  SELECT * FROM `project.dataset.__TABLES__` UNION ALL
  SELECT * FROM `project.dataset.__TABLES__`
)
SELECT hits.sourcePropertyInfo AS Property_Info
FROM ALL__TABLES__,
UNNEST (hits) AS hits

LIMIT 10

1 个答案:

答案 0 :(得分:0)

创建ALL__TABLES__之后,这就是我得到的结果:

#standardSQL
WITH ALL__TABLES__ AS (
  SELECT * FROM `project.dataset.__TABLES__` UNION ALL
  SELECT * FROM `project.dataset.__TABLES__`
)
SELECT *
FROM ALL__TABLES__

That will result in this

在ALL__TABLES__中,您可以查询表元数据:project_iddataset_idtable_idcreation_timelast_modified_timerow_count,{{ 1}}和size_bytes,但是即使该列存在于您的项目数据集中,您也无法查询type

您可以选择和合并数据集by using the wildcard * instead of TABLES中所有表的内容:

hits

但是,当在具有不同列数的数据集中运行此数据时,并非所有数据都将在ALL__TABLES__中被考虑,因此您可能找不到WITH ALL__TABLES__ AS ( SELECT * FROM `project.dataset.*` UNION ALL SELECT * FROM `project.dataset.* ) 列。确保数据集中的所有表均具有相同的列格式,以便能够查找和取消嵌套hits