Seite 1 von 1

Summe über Bericht in Base

Verfasst: Mi, 11.01.2006 14:46
von Bigo
Wie ist es möglich, in Base unter einen Bericht eine Summe zu platzieren?

--------------------------------------------------------------------------
Beispiel: (Ausgabenbericht)

Waschmaschine 400 € <--- Aus Abfrage
Staubsauger 30 € <--- Aus Abfrage

gesamt 430 € <--- von Bericht erzeugte Summe
--------------------------------------------------------------------------

Ähnlich Access Zusammenführungsoptionen

Ich habs mal mit

Code: Alles auswählen

SELECT 
"Hersteller", 
"Gegenstand", 
"Betrag", 
SUM("Betrag" ) AS"gesamt"
FROM "Zahlungen" "Zahlungenahlungen" 
GROUP BY "September" 
WHERE ( ( "September" = True ) )
in einer Abfrage versucht. September ist ein boolean der bei allen Zahlungen für September WAHR ist, aber da heißt es "parse error, expecting 'BETWEEN' or 'IN' or 'SQL_TOKEN_LIKE' ".

Keine Ahnung, wozu ich noch so einen Befehl brauchen sollte, und wo.

Das Ding soll so ne Art PIVOT-Tabelle werden.
Danke

Re: Summe über Bericht in Base

Verfasst: Mi, 11.01.2006 23:02
von Barlee
Hallo Bigo,
Bigo hat geschrieben:

Code: Alles auswählen

SELECT 
"Hersteller", 
"Gegenstand", 
"Betrag", 
SUM("Betrag" ) AS"gesamt"
FROM "Zahlungen" "Zahlungenahlungen" 
GROUP BY "September" 
WHERE ( ( "September" = True ) )
Vertausch doch mal die letzten beiden Zeilen a la

where ...
group by ...

Geht's dann??

Gruß Barlee



Verfasst: Do, 12.01.2006 08:32
von Bigo
Hallo Barlee,

wenn ich die GROUP Zeile mit der WHERE Zeile vertausche erhalte ich den Fehler:

"Not in aggregate function or group by clause: org.hsqldb.Expression@dc8569 in Statement [SELECT ...

Das selbe passiert auch, wehh ich WHERE ganz weg lasse, was aber natürlich für den Erfolg der Abfrage nicht sinnvoll ist.

Verfasst: Fr, 13.01.2006 19:23
von Barlee
Hallo Bigo,

habe das mal nachvollzogen. Exakt der selbe Fehler tritt auch bei mir auf.
Auch ein Update auf Version 2.01 brachte keine Veränderung.

Vielleicht ein Fehler in der hsqldb ?!

Melde mich, falls ich was rausfinde ...

Gruß Barlee

Verfasst: So, 15.01.2006 11:03
von Barlee
Hallo Bigo,

habe mir nochmal Deine Abfrage angesehen. Das kann so nicht funktionieren

Code: Alles auswählen

SELECT
"Hersteller",
"Gegenstand",
"Betrag",
SUM("Betrag" ) AS"gesamt"
FROM "Zahlungen" "Zahlungenahlungen"
GROUP BY "September"
WHERE ( ( "September" = True ) ) 
Du machst hier m.E. was Gegensätzliches. Du wählst "Betrag" als Spalte aus, möchtest aber auch die Summe von "Betrag" angezeigt bekommen. Entweder das eine oder andere. Dann gruppierst Du nach September, warum??? Du möchtest doch die Summe der Beträge, abhängig von Hersteller und Gegenstand, oder??

Probier mal so und melde Dich, ob es das ist, was Du brauchst ...

Code: Alles auswählen

select 
Hersteller,
Gegenstand, 
sum(Betrag) Summe from Hersteller 
where September = true
group by Hersteller, Gegenstand

Gruß Barlee