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

前もって感謝します

4

1 に答える 1

2

あなたはこのようなことをすることができます。そうすれば、ケースを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
于 2012-04-09T23:05:30.927 に答える