首页 > 解决方案 > 有没有办法重命名 CTE 查询中的输出缩写列?

问题描述

我需要重命名 CTE 查询的输出列。我想它可以用命令完成,AS但我不知道在哪里放置它。

例如

with
   table1 as (
   select 
      atribute1 as a1
      atribute2 as a2
   from table2 
   ),         
   table3
   select
      atribute3 as a3 
   from table4
)
select
   table1.a1
   table1.a2
   table3.a3
   from table1
   join table 3 on table3.a3=table1.a1
;

这将为我提供一个表的输出,其列名如a1(第一列)、a2(第二列)、a3(第三列)。我想将它们重命名为a1,a2a3.

谢谢!

标签: sqlpostgresqlinner-joincommon-table-expression

解决方案


您似乎想为最终结果集中的列起别名。你可以做:

with 
    table1 as (...),
    table3 as (...)
select
    t1.a1 as first_column
    t1.a2 as second_column
    t3.a3 as third_column
from table1 t1
join table3 t3 on t3.a3 = t1.a1

推荐阅读