德比 SQL 计算

Derby SQL calculation

我在 Derby 中进行计算时遇到问题。

下一个问题是:

Select column1, (column1 + 10) as newCol, 
(column1+newCol) as newCol2 from sometable;

在 (column1+newCol) 的情况下,这会引发一个错误,指出 newCol 不存在。

为什么不正确?

感谢您的帮助!

您无法在定义列别名的同一级别上访问它。

您需要派生 table:

select column1, newcol, column1 + newcol as newcol2
from (
  Select column1, (column1 + 10) as newCol
  from sometable
) t;