在 bigquery 中查询从分区表创建的视图
Posted
技术标签:
【中文标题】在 bigquery 中查询从分区表创建的视图【英文标题】:Query a view which is created from partitioned table in bigquery 【发布时间】:2021-05-13 10:35:28 【问题描述】:我有一个名为 customers 的分区表。 我从 customers 表中创建了一个视图,如下所示,它被称为 customers_view(在 where 子句中有更多约束,我在这里省略了):
SELECT * FROM `customers`
WHERE DATE(_PARTITIONTIME) > "2021-05-10"
现在我想从 customers_view 查询,但是当我写的时候:
SELECT * FROM `customers_view`
WHERE DATE(_PARTITIONTIME) > "2021-05-12"
或
SELECT * FROM `customers_view`
WHERE DATE(_pt) > "2021-05-12"
它给出了这个错误:! 无法识别的名称:_PARTITIONTIME(或 _pt)
如何查询由分区表创建并在 where 子句中具有分区时间的视图? (表和视图都有一个时间戳列,但我认为有些行在时间戳和_pt之间有 1 天的差距)
【问题讨论】:
【参考方案1】:如果你想要视图中的分区时间,你需要明确地包含它:
SELECT c.*, _PARTITIONTIME as pt
FROM `customers`
WHERE DATE(_PARTITIONTIME) > '2021-05-10'
【讨论】:
谢谢 Gordon,让我试试,然后我会把它标记为正确答案以上是关于在 bigquery 中查询从分区表创建的视图的主要内容,如果未能解决你的问题,请参考以下文章