Supportnet / Forum / Datenbanken
Verschachtelte sql mit Aggregatfkt
Frage
Also
Ich hab ne Tabelle Student und ne untertabelle abgelegt mit Note und Datum (Da ein Student mehrere Noten hat)
Nun möchte ich mir einen Bericht über eine Abfrage erstellen und den Namen (und andere Attribute) des Studenten ausgeben und den Durchschnitt deiner Noten.
Also
SELECT Student.Name, Student.Vorname FROM Student WHERE Name = Müller;
SELECT Avg(abgelegt.Note) AS Durschschnitt FROM abgelegt WHERE Name = Müller;
Die beiden Abfragen sollen zusammen passieren und im Bericht dann ausgegeben werden. ABER WIE BASTEL ICH DIE ZUSAMMEN ?????
Bin dankbar für jede Hilfe!!!
Antwort 1 von El Bobbele
Moin Kneckebrotfrosch!
In deinen Angaben fehlen noch die Felder, über die beide Tabellen verknüpft sind. Du musst im folgenden Beispiel meine Schlüsselnamen durch deine eigenen ersetzen.
Ich lasse noch nach dem Primärschlüssel der Studenten-Tabelle gruppieren, um dadurch auch namensgleiche Personen auseinanderhalten zu können. Das kommt sicher selten vor, aber man kann nie wissen. ;-)
Gruss
El Bobbele
In deinen Angaben fehlen noch die Felder, über die beide Tabellen verknüpft sind. Du musst im folgenden Beispiel meine Schlüsselnamen durch deine eigenen ersetzen.
Primärschlüssel Student: S_ID
Fremdschlüssel abgelegt: A_S_ID
SELECT S_ID, Name, Vorname, Avg(Note) AS Durchschnitt
FROM Student INNER JOIN abgelegt ON Student.S_ID = abgelegt.A_S_ID
GROUP BY S_ID, Name, Vorname
HAVING Name = 'Müller';
Ich lasse noch nach dem Primärschlüssel der Studenten-Tabelle gruppieren, um dadurch auch namensgleiche Personen auseinanderhalten zu können. Das kommt sicher selten vor, aber man kann nie wissen. ;-)
Gruss
El Bobbele

