sql - Oracle SELECT - 一列的别名作为另一列的输入

标签 sql oracle select alias

这个问题在这里已经有了答案:





Oracle: Using Pseudo column value in the same Select statement

(3 个回答)


8年前关闭。




我在这个论坛上发现了类似但不准确的问题 - 如果我没有对它们进行足够的搜索,请原谅我。这是我的问题……在 Oracle 中

select ( t.value*2) as inst2, (inst2 * 3) as inst3
from table t;

背后的想法是如果f() = t.value*2是一个昂贵的调用,那么我们不需要进行两次......或者是否有我可以使用的替代查询结构(我试图在 CTAS 中实现这一点)

提前致谢。

最佳答案

另外一个选项:

with cte as (
    select t.value*2 as inst2
)
select
    cte.inst2,
    (cte.inst2*3) as inst3
from cte

这实际上与 bluefeet 的回复相同,但我认为使用 with 更容易理解-句法。

关于sql - Oracle SELECT - 一列的别名作为另一列的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15389338/

相关文章:

sql - rails query hstore where key IS NOT something 或不存在

mysql - SQL连接表问题,重复结果

mysql计算字段存储在另一个字段

MYSQL选择代表不同工作室的销售人员(不重复)

java - Fedora 虚拟机上的 Oracle 连接速度慢

mysql - 在oracle中选择动态列

java - Oracle中以毫秒为单位存储时间戳

mysql 查询 : null values behavior when left joining

php - 选择特定年龄范围内的所有用户

sql - 如何使用 SQL Server 2008 将一行复制到同一个表中