在选择语句计算Oracle SQL中使用列别名[重复]

Posted

技术标签:

【中文标题】在选择语句计算Oracle SQL中使用列别名[重复]【英文标题】:Use Column Alias In Select Statement Calculation Oracle SQL [duplicate] 【发布时间】:2012-07-03 17:14:21 【问题描述】:

是否可以做类似select 1 as foo, foo+1 from dual的事情

这将返回ERROR at line 1: ORA-00904: "FOO": invalid identifier

我有一个组成列的冗长计算,我希望能够轻松地使用该值在差异列中进行计算

【问题讨论】:

【参考方案1】:

您不能直接使用别名。一种方法是使用派生表:

SELECT foo, foo+1
FROM (SELECT 1 AS foo FROM dual) AS T

【讨论】:

如果可能的话我正在寻找替代品,在这种情况下添加另一个派生表会有点麻烦 @BrandonKreisel 除非您想为基本查询定义视图,否则其他替代方案几乎可以归结为相同的方法(使用 WITH 子句 SQL 等) @Chandu - 确切地说,使用视图、CTE、派生表或其他物理表 那么好吧。感谢各位大侠的帮助,不胜感激

以上是关于在选择语句计算Oracle SQL中使用列别名[重复]的主要内容,如果未能解决你的问题,请参考以下文章

oracle基础语句学习

Oracle从入门到精通 限定查询和排序查询的问题

SQL的别名

SQL的别名

hive基础知识三

如何使从 oracle 返回的结果集保持其列别名字符大小写