google bigquery的一个查询中的多个模板表

时间:2016-10-10 16:39:20

标签: google-bigquery temp-tables

我在SQL中以这种格式进行查询:

WITH table1(definition1) AS (SELECT statement1),
     table2(definition2) AS (SELECT statement2),
     table3(definition3) AS (SELECT statement3),
SELECT statement;

我在一个查询中有多个临时表。 在google bigquery中是否存在此类查询(WITH ... AS)的等效查询?

2 个答案:

答案 0 :(得分:1)

BigQuery Standard SQL中提供了

WITH clause(请参阅Enabling Standard SQL

答案 1 :(得分:1)

是的,请参阅使用标准SQL的WITH clause文档。例如,

WITH T1 AS (
  SELECT x, y
  FROM UNNEST([1, 2, 3, 4]) AS x WITH OFFSET y
),
T2 AS (
  SELECT x, y
  FROM UNNEST([3, 4, 5, 6]) AS x WITH OFFSET y
)
SELECT x, t1.y AS y1, t2.y AS y2
FROM T1 t1
JOIN T2 t2
USING (x);

要执行此查询,请取消选中"使用旧版SQL"在"显示选项"在用户界面。