next up previous index
Weiter: 5 So schalten Sie Hoch: 6 Abfragen über mehrere Zurück: 3 Abfragebeispiel über mehrere

4 Abfrageergebnisse gruppieren und summieren

Im vorhergehenden Abschnitt wurden bereits Berechnungen auf Tabellendaten vorgenommen. Nun soll noch ein Beispiel gezeigt werden, bei dem Daten gruppiert und summiert werden. Die obige Tabelle mit den Bestelldaten enthält mehrere Bestellpositionen des Kunden. Dann interessiert neben den Einzelbeträgen für eine Lieferposition z.B. der Gesamtrechnungsbetrag. Auch diese Information lässt sich über eine Abfrage realisieren. Sie müssen die Abfrage lediglich über die Bestellnummer gruppieren (d.h. alle Datensätze mit einer Bestellnummer werden zusammengefasst). Dann lässt sich die Summenfunktion über die Gruppen bilden.

\begin{figure}\htmlimage
\spfiglii{0.9}{Bld20_38.eps}{Abfrage mit Gruppierung und
Summenbildung}{_Ref63699212}
\vspace{-11pt}
\end{figure}

In Abb. 1.44 sind sowohl die Kriterien im Kriterienbereich als auch die Beziehungen zwischen den Tabellen als auch die Ergebnisse der Abfrage zu sehen. Das Feld BestNr der Tabelle Bestellung wird hier gruppiert. Daher wurde in der betreffenden Spalte des Kriterienbereichs die Zeile Funktion auf Gruppierung gesetzt. Die dritte Spalte enthält den aus der Bestellmenge und dem Preis errechneten Wert. Im Kriterienbereich wird der Einzelwert berechnet. Da aber im Feld Funktion der Eintrag Summe gewählt wurde, berechnet Office die Gesamtsumme über alle Datensätze der Gruppe (also über alle Datensätze einer Bestellung). Als Ergebnis wird dann die Gesamtsumme der jeweiligen Bestellung ausgegeben.

Hinweis: Das Beispiel lässt sich in der von Base standardmäßig genutzten HSQL-Datenbank leider nicht nachvollziehen. Gruppieren Sie nur über ein Feld (z.B. Bestellnmmer) und summieren Sie über die Spalte mit den berechneten Preisen, liefert Base beim Ausführen der Abfrage auf der HSQL-Datenbank einen SQL-Fehler zurück. Die HSQL-Datenbank erlaubt die Abfrage nur, wenn die Gruppierung über alle Felder erfolgt (was nicht sinnvoll ist). Um solche Gruppierungen durchzuführen, sollten Sie eine MySQL-Datenbank in Base einbinden. Im Beispielordner Kap20 finden Sie die Datei Firma.odb, die auf die HSQL-Datenbank aufsetzt. Die Datei FirmaMySQL.odb bindet eine externe MySQL-Datenbank firma ein. Wird die Verbindung zur MySQL-Datenbank korrekt eingerichtet, sollte die Abfrage mit der Gruppierung über die Bestellnummer und einer Summenbildung über die Spalte Gesamtpreis korrekt funktionieren.


next up previous index
Next: 5 So schalten Sie Up: 6 Abfragen über mehrere Previous: 3 Abfragebeispiel über mehrere
Nicolaus Millin
2007-08-11