Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

GROUP BY in einer Abfrage





Frage

Ich habe eine Abfrage erstellt. Dort habe ich eine Nummer, die keine ID, sondern eine Kategorie ist, der die Einträge zugeordnet sind. D.h. es können mehrere Einträge zur gleichen Kategorie sein, so daß dort manchmal die gleiche Zahl steht. Nun will ich nach dieser Kategorie ordnen und habe deshalb folgende SQL-Anweisung für diese Abfrage geschrieben: SELECT [Adressenliste].[Team-Nr], [Ergebnisse].[Serie 1], [Ergebnisse].[Serie 2], [Ergebnisse].[Serie 3], [Serie 1]+[Serie 2]+[Serie 3] AS Ausdr1 FROM Adressenliste LEFT JOIN Ergebnisse ON [Adressenliste].[Start-Nr]=[Ergebnisse].[Lfd-Nr] GROUP BY [Adressenliste].[Team-Nr]; Immer wenn ich die Abfrage ausführen will, erscheint folgender Fehler: "Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck 'Serie1' nicht in als Teil der Aggregatfunktion einschließt." Woran liegt das bzw. was mache ich falsch? Danke und mfG Schnoof

Antwort 1 von JohnnyLoser

Hi Schnoof,

die Abfrage kann nicht funktionieren, da keiner der Ausdrücke 'Serie 1', 'Serie 2' oder 'Serie 3' Teil einer Aggregatfunktion sind.

D.h., bevor diese Werte als Ausdruck verwendet werden können, müssen alle in einer Aggregatfunktion, wie z.B Anzahl, Summe, Varianz, etc. eingeschlossen sein, bzw. gruppiert werden.

Ändere Deine Abfrage wie folgt:

SELECT [Adressenliste].[Team-Nr], [Ergebnisse].[Serie 1], [Ergebnisse].[Serie 2], [Ergebnisse].[Serie 3], [Serie 1]+[Serie 2]+[Serie 3] AS Ausdr1
FROM Adressenliste LEFT JOIN Ergebnisse ON [Adressenliste].[Start-Nr]=[Ergebnisse].[Lfd-Nr]
GROUP BY [Adressenliste].[Team-Nr], Ergebnisse.[Serie 1], Ergebnisse.[Serie 2], Ergebnisse.[Serie 3];

Alternativ kannst Du im Abfrageentwurf auch eine andere Funktion wählen, außer 'Ausdruck'.

Gruß

Johnny



Antwort 2 von Schnoof

Danke Johnny!

Jetzt habe ich noch eine Frage:
Kann ich die Einträge, die dem gleichen Team zugeordnet sind, gleich zusammenaddieren? Wenn ja, wie?

Danke!
Schnoof

Antwort 3 von JohnnyLoser

Hi Schnoof,

ich weiß jetzt natürlich nicht, was in Deinen Feldern Serie 1 bis 3 drinsteht. Ich gehe mal davon aus, daß es Zahlenwerte sind.

Was willst Du addieren?

Alle Werte der Serie 1?
Alle Werte der Serie 2?
Alle Werte der Serie 3?

oder alle Werte der Serie 1 + 2 + 3?

Wähle einfach im Abfrageentwurf als Funktion "Summe" für alle Felder ausgenommen "Team".

Vielleicht kannst Du mit dem Ergebnis schon was anfangen.

Ansonsten melde Dich noch mal.

Gruß

Johnny

Antwort 4 von Schnoof

Sämtliche Spalten sind Zahlenwerte und es soll alles addiert werden, was zum gleichen Team gehört.

Aber es hat schon geholfen. Danke! Ich mußte noch mal kurz im SQL-Code rumpfuschen, aber nun ist alles so, wie ich es haben will.

Danke!
Schnoof

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: