GELÖST = In Abfrage eine Spalte aufsummieren

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: GELÖST = In Abfrage eine Spalte aufsummieren

Re: Abfrage: eine Spalte aufsummieren :-(

von Lord Nelson » Fr, 01.07.2011 14:43

Dankeschön. :D Thema gelöst. So funktionierte es, wie ich es mir wünschte: :D

Code: Alles auswählen

SELECT "Bezirk", SUM( "Haushalte" ) FROM "Bezirke-Straßen" GROUP BY "Bezirk"
Ist wohl schon zu lange her, dass ich mit Datenbanken gearbeitet habe. Nach Deiner Hilfe viel es mir dann wie Schuppen von den Augen, denn bei Access ist das so nicht anders.

Grüsse

Daniel

Re: Abfrage: eine Spalte aufsummieren :-(

von komma4 » Do, 30.06.2011 05:59

Lord Nelson hat geschrieben:Schade, das es nicht funktioniert hat. Arbeite sonst mit Access und da wäre es so wohl gegangen. :-(
Habe es die Tage hier schon mal geschrieben:

die Syntax aller Abfragen ist von der verwendeten Datenbank abhängig.

Bei der eingebauten HSQLDB Version 1.8 bedeutet dies, dass bei Verwendung von Aggregat-Funktionen (SUM, COUNT) alle nicht aggregierten abgefragten Spalten in der Gruppierung erscheinen müssen.

Ohne es getestet zu haben:

Code: Alles auswählen

SELECT "Bezirk", "Straße", SUM( "Haushalte" ) 
FROM "Bezirke-Straßen"
WHERE "Bezirk" = 12345 
GROUP BY  "Bezirk", "Straße"

Re: Abfrage: eine Spalte aufsummieren :-(

von Lord Nelson » Mi, 29.06.2011 23:16

Dann kriege ich folgende Meldung:

SQL-Status: 37000
Fehler-Code: -67

Not in aggregate function or group by clause: org.hsqldb.Expression@1fda09d in statement [SELECT "Bezirk", "Straße", SUM( "Haushalte" ) FROM "Bezirke-Straßen" GROUP BY "Bezirk" HAVING ( ( "Bezirk" = 12345 ) )
Schade, das es nicht funktioniert hat. Arbeite sonst mit Access und da wäre es so wohl gegangen. :-(

Re: Abfrage: eine Spalte aufsummieren :-(

von pmoegenb » Mi, 29.06.2011 17:34

Lord Nelson hat geschrieben:
SELECT "Bezirk", "Straße", SUM( "Haushalte" ) FROM "Bezirke-Straßen" WHERE "Bezirk" = 12345
Die Fehlermeldung wäre natürlich auch interessant gewesen. Probiers mal mit folgender Syntax:

Code: Alles auswählen

SELECT "Bezirk", "Straße", SUM( "Haushalte" ) 
FROM "Bezirke-Straßen"
WHERE "Bezirk" = 12345 
GROUP BY  "Bezirk"

Re: Abfrage: eine Spalte aufsummieren :-(

von arkadiuszpaluszek » Mi, 29.06.2011 15:06

Hallo!

Bin mir gerade nicht sicher ob es stimmt was ich hier schreibe, aber irgendwie habe ich den Eindruck, dass es an "SUM" liegt - ich habe es bisher nicht gesehen, dass man eine Funktion wie Summe direkt in die Abfrage einbinden würde ( was nicht heißen muss dass es nicht geht, ICH habe es nicht gesehen). Ich hätte es eher dadurch gelöst dass ich ein Makro geschrieben hätte welches alle Argumente summiert hätte.

Bin gespannt, was erfahrenere Leute als ich dazu schreiben werden!

Viele Grüße

Arek

GELÖST = In Abfrage eine Spalte aufsummieren

von Lord Nelson » Mi, 29.06.2011 12:52

Ich habe eine Abfrage erstellt:

3 Spalten:

Bezirk | Strasse | Haushalte |

Kriterium Bezirk: 12345

Funktion Haushalte: Summe

Jetzt möchte ich gerne, dass die Abfrage nur die Bezirksnummer 12345 anzeigt und mir zu dem Bezirk zugehörigen Haushalte aufsummiert. Als Ergebnis bekomme ich aber diese Fehlermeldung:
Das SQL-Kommando, welches zu diesem Fehler führte, ist:

SELECT "Bezirk", "Straße", SUM( "Haushalte" ) FROM "Bezirke-Straßen" WHERE "Bezirk" = 12345
Was läuft hier nun falsch?

Nach oben