![]() |
AW: SQL- Summe je Zeile bilden - kummuliert
Danke jobo für Deine Nachricht,
ich habe, wenn ich ehrlich bin, vor Jahren mal mit SQL beschäftigt. Und das selektieren von Tabellen haben auch immer gut geklappt. Mit Sicherheit macht man das meist so, dass man zur Laufzeit diese Summen je Zeile erzeugt, so dass man immer die aktuellen Zahlen hat. Aber ich wollte halt (oder halt versuchen) diese Werte fest in der Tabelle zu integrieren, so dass diese immer zur Verfügung stehen und ich diese ggf. bei weiteren Berechnungen verwenden kann. Denn ich muss ja sonst immer mir zur Laufzeit erst die Summen bilden um diese weiterverwenden zu können. Das wollte ich halt nicht. Das mit dem Insert und dem "merken" des vorherigen Datensatzes und diese Summe den neuen DS direkt in die Datenbank hinzufügen/hineinschreiben weiß ich leider nicht und habe schon viel versucht und getestet. Was ich habe, sind Tageswerte. Und wenn sich diese Tageswerte ändern, soll alles geändert und die nachfolgenden DS angepasst werden. (Vergleichbar mit einem Kassenbuch). Ich habe das mit der klassischen "Methode" versucht, die Tabelle durchläuft alle Zeilen, aber das dauert einfach zu lange, weil man während der Laufzeit neue Eingaben macht oder machen kann. Bis man also ggf. eine neue Eingabe machen kann durchläuft er diese Anpassung. Deshalb kam ich eben darauf, dass man diese Dauer durch ein Select/Insert "beschleunigen" könnte. |
AW: SQL- Summe je Zeile bilden - kummuliert
Zitat:
Code:
Aber du kannst dir dafür auch einen View bauen, der ist dann bei jeder Abfrage des Views immer aktuell.
UPDATE table AS t1
SET t1.col4 = (SELECT ... s.o.) Oder du setzt den UPDATE in einen DB-Trigger - aber ich würde Trigger immer so weit wie möglich vermeiden. Letzte Möglichkeit ist ein „berechnetes Feld“ in der Tabelle und als Feld-Funktion eben den SELECT in der Klammer - Aber ... das unterstützen nicht alle DBEs - MS-SQL kann das glaub ich, andere aber nicht, die unterstützen da nur relativ einfache skalare Ausdrücke. Grüße Daniel |
AW: SQL- Summe je Zeile bilden - kummuliert
Danke auch Dir.
Nun, ich habe mich in der Tat für das berechnende Feld entschieden. Das ist, so denke ich auch eine schöne und saubere Lösung. Danke nochmal an alle, die mir versucht haben, diesbezüglich zu helfen. Marc |
AW: SQL- Summe je Zeile bilden - kummuliert
Code:
select
spalte1, ifnull(spalte2, spalte1) as spalte2, ifnull(spalte3, spalte1+spalte2) as spalte3, ifnull(spalte4, spalte1+spalte2+spalte3) as spalte4 from mytable |
AW: SQL- Summe je Zeile bilden - kummuliert
Ich glaube, da hast Du dich vertan
Zitat:
K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz