Addition in ms-sql?

Kai-Behncke

Erfahrenes Mitglied
Hallo Leute, ich habe eine Frage:
Ich habe drei Tabellen (Personal (da steht u.a. der Name drin), Teilnehmer (da steht u.a. drin, welcher Teilnehmer welchen Kurs besucht) und Schulung (da stehen u.a. Kursbezeichnung und Kurskosten drin).
Ich suche nun den Befehl, welcher mir ein neues Feld (z.B. "Gesamtkosten") ausgibt, in welchem drin steht, wie viel Geld die einzelnen Teilnehmer insgesamt für die Kurse aus-
gegeben haben, also bei Mischale muesste dann 1800 stehen, bei Müller 1200 und so weiter.

Die Tabelle unten habe ich mit folgendem Befehl hinbekommen:
Select personal.name, Schulung.Schulungsbezeichnung,Schulung.Kurskosten
from personal, schulung, teilnehmer where personal.personalnummer=teilnehmer.personalnummer
AND teilnehmer.laufende_Nr=schulung.laufende_Nr order by name

Name Kursbezeichnung Kurskosten
Mischale GIS 500.00
Mischale SQL 300.00
Mischale Access 1000.00
Müller SQL 300.00
Müller Deutsch 400.00
Müller GIS 500.00
Rocko GIS 500.00
Schlichting GIS 500.00
Schlichting Access 1000.00
Schlichting Mathe 700.00

Nur wie schaffe ich das , dass die Kurskosten addiert werden? (also, wie gesagt, noch eine Spalte dahinter mit den Gesamtkurskosten für jeden einzelnen Namen)
Es müsste so eine Art Array-Addition sein (glaub ich?), gibt es da einen Befehl?
 
Hallo,

du musst die Daten gruppieren, aber wenn du die Kurskosten pro Person braucht, dann ist die Kursbezeichnung ja überflüssig.
Code:
Select personal.name, sum(Schulung.Kurskosten)
  from personal, schulung, teilnehmer 
  where personal.personalnummer=teilnehmer.personalnummer
  AND teilnehmer.laufende_Nr=schulung.laufende_Nr 
  GROUP BY name
  order by name
 
Zurück