Frank: Berechnungen schon bei select durchführen?

Beitrag lesen

Hi,

zu deinem Problem.

Das Geheimnis lautet Aggregatfunktion, davon gibt es mehrere wie z.b. GROUP, Count, Sum, Min, Max etc

Du brauchst an dieser Stelle Sum(table.field)

der Vollständigkeit hier mal ein beispiel SQL:
SELECT
       Arbeiter_Umsaetze.ArbeiterID, *
       Sum(Arbeiter_Umsaetze.Umsatz) as made_sales,
       Arbeiter.Name
FROM
       Arbeiter_Umsaetze,
       Arbeiter
WHERE
       Arbeiter_Umsaetze.ArbeiterID=Arbeiter.ID
GROUP By
       Arbeiter_Umsaetze.ArbeiterID, *
       Arbeiter.Name
ORDER BY
       Arbeiter_Umsaetze.ArbeiterID

du fragst zwei Tabellen mit einmal ab und baust anhand der Felder ID und ArbeiterID eine Gemeinsamkeit auf  (das ganze geht auch mit einem Join-Statement siehe SQL-Dokumentation)
einen Ausgabewert (made_sales) definierst du als Summe von Feldern der entsprechenden Tabelle
wichtig ist noch, verwendest du für einen Ausgabewert eine Aggregatfunktion, mußt du auch für alle anderen eine Aggregatfunktion (im standardfall im Group by) einsetzen, sonst bekommst du einen Fehler.
die mit hash markierten Zeilen können (beide zugleich) auch weggelassen werden, das hängt davon ab, ob du diesen Ausgabewert (ArbeiterID) brauchst.

Wenn du das beispiel auf deine Vorgaben übertragen erfolgreich kannst, weißt du etwas mehr.

HTH, Frank