Haushaltsbuch: Summierung

Hallo liebe SQL-Freunde,

bitte hinterfragt nicht, weshalb ich ein Haushaltsbuch als Datenbank aufstellen möchte.
Bei diesem Haushaltsbuch soll in einer Form der Abfragen alles, bei dem im Attribut “Sender”=“ich” steht und “Senderdetail”=“Konto” ist alle Beträge im Feld “Betrag” negativ werten, alle Felder, bei denen “Ich” und “Konto” als Empfänger gelten jedoch als positiv werten und mir daraus die Summe ausgeben. Es stellt also den “Ist”-Betrag auf meinem Konto dar.
Ich habe ein wenig Erfahrung mit den Befehlen, doch finde perdu keinen Weg. Ich kann zwar mit dem sum Befehl eine Summe errechnen, aber wie errechne ich diese Summe, wobei alle Felder, bei denen ich Sender bin negativ interpretiert werden? Ich hoffe, ihr könnt und wollt mir helfen.

Danke im Voraus!
Dennis aka Shisu

SELECT sum(case 
            when sender = 'ich' and senderdetail = 'konto' then -betrag
            else betrag
          ) as betrag_summe
from haushaltsbuch

__<
Gut, danke für die dumme Frage… wenn man das Ergebnis sieht, war das Problem garnicht so schwer :frowning:
Danke für die schnelle Hilfe!

Gruß Dennis

Hey Leute,

beim Umsetzen des ganzen gibt es dennoch Probleme… meine Anfrage:

select sum(
  case
   when Sender = 'Ich' and Senderdetail = 'Tasche' then -betrag
   else betrag
 ) as 'Betrag'
from Transaktionen
where (Sender = 'Ich' and Senderdetail = 'Tasche') or (Empfänger = 'Ich' and Empfängerdetail = 'Tasche')

Für die Entsprechende Rechnungzum Bargeld. Darin befindet sich aber offenbar ein Fehler. Ich habe es auch mit angehängtem “group by” versucht, doch wusste nicht, nach was ich denn gruppieren soll… :frowning:

Hoffe auf Antworten,
Gruß,
Dennis

Sorry, meine Glaskugel ist kaputt und ich kann Deinen Bildschirm nicht sehen. Nachdem Du aber auch nicht gesagt hast, was für ein Fehler da “offenbar” auftritt, kann ich Dir leider nicht helfen.

(Übrigens: Spaltennamen mit einem Umlaut sind nicht wirklich eine gute Idee!)

Auch Groß- und Kleinschreibung in Spaltennamen möchte mit “” gehändelt werden.

Gruß Uwe

Zu allererst: Entschuldige… doch meines Erachtens nach bringt dieser Fehler nichts, aber das überlasse ich euch. Die SQL-Abfrage habe ich von OpenOffice Base ausführen lassen und es kommt:

Die Dateninhalte konnten nicht geladen werden.

Unexpected token in statement [hier stehen alle Zeilen des Codes]

Wenn ich den “SQL-Kommando direkt ausführen”-Modus ausschalte, erhalte ich laut diversen Foren einen “Standart”-Fehler:

syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE

Entschuldigt nochmal und danke für eure Geduld >__<

Gruß, Dennis

Das sind keine Fehlermeldungen von PostgreSQL, offensichtlich kommt OpenOffice mit der Syntax nicht klar.

Was passiert denn, wenn Du das Statement mit z.B. psql oder einem “richtigen SQL” Tool ausführst?

Werde mal entsprechend versuchen, jenes einzurichten. Wenn es mir gelingt, erfahrt ihr es als erstes.
Danke!
Gruß,
Dennis

Da Du PostgreSQL bereits installiert hast, hast Du auch psql da musst Du nichts mehr “einrichten”.

Hm, kriege es offenbar nicht hin. Danke trotzdem für die Mühe, dachte mir, dass OO Base einfacher einzurichten sei, ist aber auch Unsinn, wenn es mir keine vernünftigen Fehlermeldungen ausgibt -.-’

Gruß, Dennis
-Closed-

Also ich habe das mal mit OpenOffice 3.3 ausprobiert und da klappt das problemlos. Ich vermute mal, Du erzählst uns nicht alles.

Hast Du es denn mal mit psql versucht?