假设我在BigQuery中有一个视图,例如[views.myview]定义如下:
SELECT
Id AS Id,
MAX(Time) AS MostRecentTime
FROM
[dataset.mytable]
GROUP BY
Id
然后查询该视图的另一个查询:
SELECT
*
FROM
[dataset.mytable] tbl
JOIN [views.myview] view ON tbl.Time = mview.MostRecentTime
有没有办法自动生成一个查询,其中第二个查询中的[views.myview]被生成它的查询替换 - 基本上“解包”视图,所以你只有一个查询直接查询表? / p>
(潜在的问题:我有一个查询查询许多不同的视图,包括几层视图 - 查询 - 其他视图,我想把这个查询放在我的应用程序中。我不希望用户是能够通过更改其中一个视图的定义来搞乱查询结果,所以我想将整个查询以固定的形式放在应用程序中。)
答案 0 :(得分:0)
这是不可能自动执行的。您可以尝试编写一些脚本或代码来通过BigQuery apis执行此操作 - https://cloud.google.com/bigquery/docs/managing-views