如何“解压缩”在Google BigQuery中查询视图的查询?

时间:2018-04-24 22:10:16

标签: sql google-bigquery

假设我在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>

(潜在的问题:我有一个查询查询许多不同的视图,包括几层视图 - 查询 - 其他视图,我想把这个查询放在我的应用程序中。我不希望用户是能够通过更改其中一个视图的定义来搞乱查询结果,所以我想将整个查询以固定的形式放在应用程序中。)

1 个答案:

答案 0 :(得分:0)

这是不可能自动执行的。您可以尝试编写一些脚本或代码来通过BigQuery apis执行此操作 - https://cloud.google.com/bigquery/docs/managing-views