[SQL]Feld-Aliasse verwenden

Schlage mich schon seit geraumer Zeit mit dem Problem
herum, Aliasse zum Beispiel zu GROUP-pieren.

Beispiel:

SELECT SUM(Datenbank1.Feld1 + Datenbank1.Feld2) as Summe
FROM Datenbank1
GROUP BY Summe;

Warum kann ich hier zum Beispiel nicht nach Summe gruppieren,
was mache ich falsch ?

Vielen Dank im Voraus, MAJA.

SELECT SUM(Datenbank1.Feld1 + Datenbank1.Feld2) as Summe
FROM Datenbank1
GROUP BY Summe;

Warum kann ich hier zum Beispiel nicht nach Summe gruppieren,
was mache ich falsch ?

In der GROUP BY Klausel müssen die Felder stehen, die bestimmen, welche Zeilen eine Gruppe bilden (eben weil sie in diesen Feldern den gleichen Inhalt besitzen).

Innerhalb dieser Gruppen werden dann die Werte der in der SELECT Klausel verwendeten Gruppenfunktionen berechnet (in Deinem Beispiel die Summe der Summe der beiden Felder „Feld1“ und „Feld2“).
Also kann innerhalb eines SELECTs das Ergebnis einer Gruppenfunktion nicht das Kriterium für die Gruppierung selbst sein.

Elmar

Also kann innerhalb eines SELECTs das Ergebnis einer
Gruppenfunktion nicht das Kriterium für die Gruppierung selbst
sein.

Schade eigentlich, aber Danke für Deine Reaktion. MAJA.

Vorsicht: Geht wohl!
Unter Oracle funktioniert das Ganze wie folgt:

SELECT ename, (sal+comm)
FROM emp
GROUP BY (sal+comm)

Hinweis: sal und comm sind 2 Spalten (Gehalt und Provision).

Welches RDBMS verwendest du denn?

Gruß JStefan

Unter Oracle funktioniert das Ganze wie folgt:

SELECT ename, (sal+comm)
FROM emp
GROUP BY (sal+comm)

Das ist aber definitiv etwas anderes als MAJA schrieb, denn das Entscheidende war die Summierung. Was sie/er möglicherweise erreichen wollte, steht auf einem anderen Blatt.

Elmar

Das ist aber definitiv etwas anderes als MAJA schrieb, denn
das Entscheidende war die Summierung.

Zwei Punkte:

  1. GROUP BY (sal+comm) ist nicht das selbe wie GROUP BY sal, comm !

  2. Wenn Maja lediglich den Aliasnamen „Summe“ als GROUP BY - Angabe benutzen wollte liege ich natürlich falsch. In dem Fall frage ich mich allerdings, warum sie/er sich so lange damit „herumgeschlagen“ hat.

Gruß JStefan