Supportnet Computer
Planet of Tech

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.


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