我是一个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
)
,然后像往常一样查询这个新表。