2013-04-01 58 views
0

我正在编写一个查询来定义Sybase Database上的视图。考虑下面的例子sybase中的派生列

SELECT a, (b+c+d-e) AS derived_1, (b+c+d-e)+2 AS derived_2, (b+c+d-e)+4 as derived_3 
FROM TABLENAME 

你可以看到我计算使用一些逻辑(B + C + d-e)中的值,应用一些更多的逻辑和返回不同派生列值。有什么方法可以让我只写(b + c + d-e)一次吗?

喜欢的东西

SELECT a, (b+c+d-e) AS derived_1, derived_1+2 AS derived_2, derived_1+4 as derived_3 
FROM TABLENAME 

回答

1

裹计算在子查询,

SELECT a, 
     derived_1 + 2 AS derived_2, 
     derived_1 + 4 AS derived_3 
FROM 
     (
      SELECT a, (b+c+d-e) AS derived_1 
      FROM TABLENAME 
     ) x