Kann mir jemand in SQL helfen?

2 Antworten

  • Für den Erlös musst du die Teilnehmer joinen (hast du schon) und den Kurspreis mit der Anzahl der Teilnehmer multiplizieren (fehlt), bevor du das AVG machst.
  • Bei der 2. soll der Kurs ja gerade Vorraussetzung für einen anderen sein, also IN statt NOT IN
Woher ich das weiß:Berufserfahrung – Softwareentwickler & Admin
UniStudent208A 
Fragesteller
 05.04.2023, 13:15

Danke hat funktioniert mit
10)
SELECT K.LEITER, AVG(E.ERLOES) AS DURCHSCHNITT_ERLOES, MAX(K.PREIS) AS MAX_PREIS

FROM Kurs K

LEFT JOIN (

  SELECT T.KURSNR, COUNT(*) * K.PREIS AS ERLOES

  FROM Teilnahme T

  JOIN Kurs K ON T.KURSNR = K.KURSNR

  GROUP BY T.KURSNR, K.PREIS

) E ON K.KURSNR = E.KURSNR

GROUP BY K.LEITER

0
UniStudent208A 
Fragesteller
 05.04.2023, 13:16

11)
SELECT BEZEICHNUNG

FROM Kurs

WHERE VORAUSGESETZTER_KURS IS NOT NULL

AND KURSNR IN (SELECT VORAUSGESETZTER_KURS FROM Kurs)

0

Der Erlös eines Kurses ist Preis mal Teilnehmerzahl. Der mittlere Erlös wäre dann Gesamterlös durch Kurszahl