2
是否有可能像做select 1 as foo, foo+1 from dual
使用列别名SELECT语句计算的Oracle SQL
这将返回ERROR at line 1: ORA-00904: "FOO": invalid identifier
我有一个冗长的计算是组成一列,我希望能够轻松地使用在差异列中计算的值
是否有可能像做select 1 as foo, foo+1 from dual
使用列别名SELECT语句计算的Oracle SQL
这将返回ERROR at line 1: ORA-00904: "FOO": invalid identifier
我有一个冗长的计算是组成一列,我希望能够轻松地使用在差异列中计算的值
您不能直接使用别名。一种方法是使用派生表:
SELECT foo, foo+1
FROM (SELECT 1 AS foo FROM dual) AS T
我正在寻找替代方案,如果可能的话,在这种情况下,增加一个派生表会有点麻烦 –
@BrandonKreisel其他替代办法几乎归结为同样的方法(使用WITH子句SQL等),除非你想为你的基本查询定义一个视图 – Chandu
@Chandu - 确切地说,可以使用视图,CTE,派生表或其他物理表 – Lamak