Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Saldo in einer SQL Abfrage

Anwender / 21 Antworten / Flachansicht Nickles

Hi, ich suche wiedermal Hilfe zu einer SQL Abfrage.
Ich habe eine Tabelle mit einer Spalte "Einnahmen" und einer Spalte "Ausgaben". Nun möchte ich eine dritte Spalte mit dem errechneten Saldo je Zeile. Ist das möglich?

mfg Anwender

bei Antwort benachrichtigen
d-oli Anwender „Ich versteh nicht ganz. Könntest du mir ein Bespiel machen? Tabellenname:...“
Optionen

Okay ... (?)

Vermutlioch hast Du die Tabelle so ähnlich erzeugt:


CREATE TABLE tblSaldo(
   ein float,
   aus float );

Um jetzt die Spalte "saldo" hinzu zu fügen, führst Du folgendes SQL Script aus:

ALTER TABLE tblSaldo
   ADD saldo float;

Jetzt sollte die Tabelle diese Signatur haben:
|-----|-----|-------|
| Ein | Aus | Saldo |
|-----|-----|-------|
| 0.0 | 0.0 | 0.0   |
|-----|-----|-------|

Nun weiss ich nicht, ob Du den Saldo automatisch berechnen willst oder ob irgend ein Program den berechneten Wert liefert und Du ihn nur noch einfügen musst.
Kommt der Saldo bereits berechnet daher, sollte das INSERT Statement so aussehen:

INSERT INTO tblSaldo( ein, aus, saldo ) VALUES( 1023.05, 23.05, 1000 );

Willst Du den Saldo automatisch berechnen kannst Du das z.B. mit einem AFTER INSERT Trigger erledigen. Datenbanksysteme wir Oracle, MySQL,PostgreSQL, MS Sql und ev. sogar Access können so was. Das INSERT Statement würde dann so aussehen:

INSERT INTO tblSaldo( ein, aus ) VALUES( 1023.05, 23.05 );

Der Saldo wird, nach dem der Datensatz eingefügt würde vom AFTER INSERT Trigger berechnet und dem Datensatz per UPDATE Statement hinzugefügt.
Wie so ein Trigger erzeugt wird findest Du hier:
http://www.techonthenet.com/oracle/triggers/index.php
Hier findest DU allgemeines über SQL:
http://www.w3schools.com/sql/default.asp

d-oli
Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen