大查询-从临时表创建表/视图

问题描述

我们在Big Query中有一个查询,如下所示

CREATE temp table ttt as (
  SELECT * FROM TABLE
);

EXECUTE IMMEDIATE (
  ---Dynamic query goes here--- 
); 

以上查询将结果存储在查询中写入的临时表中。如何将这些结果存储到实际的表/视图中,以便将其用于进一步的数据建模?

解决方法

尝试使用:

EXECUTE IMMEDIATE (concat('create table dataset.table as ',---Dynamic query goes here---)
); 
,

首先可以使用一个持久表吗?还是可以在EXECUTE IMMEDIATE之后使用下面的查询保存结果?

CREATE TABLE yourDataset.ttt as (
  SELECT * FROM ttt
);
,

正如我在上一个问题中已建议您那样-只需添加CREATE TABLE your_table ASINSERT your_table,如下例所示。使用CREATE(DDL)或INSERT(DML)取决于您是否需要创建新表或将其插入现有表中

EXECUTE IMMEDIATE (
  CREATE TABLE dataset.table AS
  SELECT ---Rest of your dynamic query goes here--- 
);