2012-04-09 12 views
1

gibt es eine Möglichkeit, nach einigen Berechnungen einen Alias ​​zu erstellen?Erstellen eines Alias ​​nach Zeilenberechnungen?

in der Praxis gibt es einen besseren Weg, dies zu schreiben:

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 

danken Ihnen im Voraus

Antwort

2

Sie so etwas tun könnte. So behandeln Sie die Fälle nicht zweimal.

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

danke für jetzt ... ich versuche! – skyline26

+0

Wenn ich eine Verknüpfung in der Haupt-SELECT habe, muss ich es auch in der inneren SELECT tun? – skyline26

+0

Grundsätzlich können Sie alles in der Unterabfrage tun, und dann nur die Addition auf die äußere Abfrage ... so JOINs auf der Innenseite Arent wirklich nicht benötigt auf der Außenseite –

Verwandte Themen