使用列别名添加列

时间:2014-10-21 20:38:14

标签: sql oracle

我想知道我们是否不能添加带别名的列。

例如;

select header_id h,org_id o, (h+o)hi from oe_order_headers_all

这给了我错误。无论如何都要这样做而不必引用完整的列名。我在这里展示一个例子,但是当一个列从函数派生时它通常很大,所以我们使用别名,现在我希望派生列别名用于其他事情。

任何建议都表示赞赏!!

谢谢!

1 个答案:

答案 0 :(得分:2)

这会给您一个错误,因为您无法在定义它的同一select中使用列别名。但是,您可以使用子查询或CTE:

select h, o, (h + o) as hi 
from (select header_id as h, org_id as o
      from oe_order_headers_all
     ) oha;

使用子查询不应有额外的开销。您也可以使用CTE执行此操作:

with oha as (
      select header_id as h, org_id as o
      from oe_order_headers_all
     )
select h, o, (h + o) as hi 
from oha;