使用仅存在于选择(SQL - Oracle)中的两个字段的操作



我的问题是:

select shape as "Shape",
       codigo as "GeocodigoTo",
       function(shape) as "X",
       function(shape) as "Y",
      **[X - Y] as "X - Y"**,
...

如何操作仅存在于 Select 语句中的两列?

Ps:我不想这样做:函数(x) - 函数(y)。那会很慢

在 oracle 中,您可以使用子查询,在这种情况下:

WITH raw_data as
(shape as "Shape",
 codigo as "GeocodigoTo",
 function(shape) as "X",
 function(shape) as "Y" FROM table)
SELECT d.*,X-Y as "X-Y" FROM raw_data;

这将避免两次调用函数。

最新更新