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
Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge
Die Access Hilfe hilft in diesem Fall nicht weiter.
Haben die denn kein Beispiel dazu in der Hilfe?
Ansonsten einfach mal ausprobieren was ein
SELECT *, DSUM(ein-aus) FROM table
macht...
Einziger Nachteil: bei meinen 4000 Datensätzen dauert die Abfrage nun volle 14 Sekunden! Naja war wohl zu erwarten.
Ja, das hatte ich ja oben schon umfangreich befürchtet. Wenn der Datenbestand noch größer wird ist schnell der Punkt erreicht an dem das nicht mehr praktikabel ist. Bei 8000 Datensätzen wären wir dann schon bei rund einer Minute Abfragedauer (Schätzung nach obiger Annahme von n²-Laufzeitverhalten )...
Wenn es aber eine effizientere Möglichkeit gibt
Im Client aufsummieren wäre wie schon genannt die eleganteste Lösung
Wenn sich an den Daten nur selten was ändert könnte man es natürlich cachen, wäre mit einem View mit eigener Ergebnistabelle sogar transparent möglich. Wenn bestehende Datensätze sich nicht mehr verändern werden könnte man das ganze auch wie schon oben vorgeschlagen mittelt Trigger-Funktion im Datensatz speichern lassen...
Gruß
Borlander
Haben die denn kein Beispiel dazu in der Hilfe?
Ansonsten einfach mal ausprobieren was ein
SELECT *, DSUM(ein-aus) FROM table
macht...
Einziger Nachteil: bei meinen 4000 Datensätzen dauert die Abfrage nun volle 14 Sekunden! Naja war wohl zu erwarten.
Ja, das hatte ich ja oben schon umfangreich befürchtet. Wenn der Datenbestand noch größer wird ist schnell der Punkt erreicht an dem das nicht mehr praktikabel ist. Bei 8000 Datensätzen wären wir dann schon bei rund einer Minute Abfragedauer (Schätzung nach obiger Annahme von n²-Laufzeitverhalten )...
Wenn es aber eine effizientere Möglichkeit gibt
Im Client aufsummieren wäre wie schon genannt die eleganteste Lösung
Wenn sich an den Daten nur selten was ändert könnte man es natürlich cachen, wäre mit einem View mit eigener Ergebnistabelle sogar transparent möglich. Wenn bestehende Datensätze sich nicht mehr verändern werden könnte man das ganze auch wie schon oben vorgeschlagen mittelt Trigger-Funktion im Datensatz speichern lassen...
Gruß
Borlander