我使用SQL UNION ALL将多个表附加到一个表中.如何为新表指定名称?



我是一个SQL初学者在谷歌数据分析顶点项目工作。我需要分析12个表,其中有13列和500万行。我在Google BigQuery中运行查询,并使用UNION ALL语句将表附加到一个新表中。现在,我想根据column3和column4之间的差异创建一个新列。如何在不重复12个表的select语句中的公式的情况下做到这一点?是否有一种方法,我可以分配一个名称或一个变量(?)为新表,使我的代码将看起来更干净?

我试着创建一个临时表,但它没有工作,现在我卡住了。

您可以使用CTE:

WITH MY_TABLE as (
-- you query with union alls
)
select *, column3-column4 new_col from MY_TABLE 

但这不是一张表。所有的内部查询都将在运行后执行。

如果你想要一个真正的表,我相信你可以这样创建一个表:

create table as (
-- you query with union alls
)

,然后像往常一样查询这个新表。

相关内容

  • 没有找到相关文章

最新更新