2012-04-09 7 views
1

計算の後にエイリアスを作成する方法がありますか?実際に行の計算後にエイリアスを作成しますか?

これを書くためのより良い方法があります:

select 
    case when aaa ... then then else end AS ALIAS1, 
    case when bbb ... then then else end AS ALIAS2, 
    case when ccc ... then then else end AS ALIAS3, 
    /* the sum of previous aliases */ 
    case when aaa ... then then else end + 
    case when bbb ... then then else end + 
    case when ccc ... then then else end AS ALIAS_SUM 

は、あなたがこのような何かを行うことができ、事前に

答えて

2

をお願いします。そうすれば、あなたはその事件を二度は扱っていません。

SELECT *, ALIAS1 + ALIAS2 + ALIAS3 AS ALIAS_SUM 
FROM 
(
    SELECT 
     CASE WHEN aaa ... THEN ... ELSE END AS ALIAS1, 
     CASE WHEN bbb ... THEN ... ELSE END AS ALIAS2, 
     CASE WHEN ccc ... THEN ... ELSE END AS ALIAS3 
    FROM... 
) AS casequeries 
+0

ありがとうございました...私は試しています! – skyline26

+0

私はメインのSELECTに参加している場合、私も内部SELECTでそれを行う必要がありますか? – skyline26

+0

基本的には、サブクエリ内のすべてを行うことができますし、外部クエリで追加するだけです...内部のJOINは実際には外部では必要ありません –

関連する問題