![]() |
AW: SQL-Abfrage über mehrer Tabellen
Überleg doch mal, wo sich was befindet und wer wann was wie abarbeitet.
Die Datenbank kennt deine Query-Komponente nicht. Die Query-Komponente sendet das Statement zur Datenbank, die Datenbank führt das Statement aus und liefert das Ergebnis zurück. Die Query-Komponete wertet dieses Ergebnis aus und stellt es der Anwendung zur Verfügung. |
AW: SQL-Abfrage über mehrer Tabellen
Die SP läuft auch auf dem Datenbankserver und kann in einer Abfrage wie eine Tabelle abgefragt werden.
Noch mal die Frage, was meinst Du mit weiterer Summe? Summierung über anderes Feld? Weitere Einschränkung? |
AW: SQL-Abfrage über mehrer Tabellen
Hallo MKinzler
ich habe in einer ersten Abfrage nur die einzelnen Datensätze mit Umsatzwerte etc. aus einer Rechnungstabelle. Diese bringe ich im Anschluss in einem Grid zur Anzeige. Auf Basis dieser Abfrage möchte ich eine Spaltensumme in einem GridFooter anzeigen und benötige die Summe, z.B. der Umsatzspalte. Mir ist bewusst, dass die Abfrage im Speicher des Clients liegt, Zur Summenbildung habe ich derzeit 2 Wege eingeschlagen. 1.) Neue Abfrage der Summen über die gesamte Tabelle 2.) Summenbildung nach erster Abfrage in einer separaten Proc Ich suche halt nach ner Optimierung der Geschwindigkeit, beides funktioniert. |
AW: SQL-Abfrage über mehrer Tabellen
Da sich die gewünschten Werte auf die gleichen Werte beziehen ( verschieden zusammengefasst) sollte eine Abfrage genügen. Einfach einmal durch die Datenmenge gehen und die Werte summieren.
Es gibt auch Grids, welche eine Summierung von sich aus können. |
AW: SQL-Abfrage über mehrer Tabellen
Von einem 2.schrittigen Verfahren würde ich dringend abraten, da ohne weiteres die Konstistenz der beiden Ergebnisse nicht gewahrt ist. Sprich die Summe, die im 2. Schritt abgefragt wird, basiert ggF. schon auf einer verlichen zum 1. Schritt geänderten Datenbasis. (Trifft u.U. in einem Einzelplatzsystem nicht zu)
In einer Abfrage kann man den Befehl "rollup" verwenden, der automatisch Gesamtsummen liefert. Das hat hier 2 Nachteile:
Die naheliegendste Möglichkeit bleibt damit m.E. wie von Markus Kinzler beschrieben eine manuelle Aufsummierung oder ein Gridkomponente mit Summenfunktion. |
AW: SQL-Abfrage über mehrer Tabellen
Rollup würde ich aber eher mit einer SP lösen. Die Lösung über UNION wären ja 2 wieder 2 getrennte Abfragen ( allerdings auf den selben Datenstand)
|
AW: SQL-Abfrage über mehrer Tabellen
Du kannst auch ein VIEW aus der ersten Select Anweisung erstellen und davon dann ein
neues Select mit SUM, MAX, WHERE etc erstellen Gruß Michael |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 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 by Thomas Breitkreuz