Mam tabele:
wykonawca (idwykonawcy, nazwa)
album ( idalbumu,nazwa,rok, idwykonawcy)
recenzja(idrecenzji,gazeta,ocena,idalbumu)
wypisz dla kazdego wykonawcy srednia z ocen jego albumow (ocena albumu to srednia ocen z wszystkich recenzji)
SELECT MAX(nazwa) wykonawca, AVG(ocena) srednia
FROM wykonawca LEFT JOIN
(SELECT album.idalbumu, MAX(idwykonawcy) idwykonawcy, AVG(ocena) ocena
FROM album LEFT JOIN recenzja ON album.idalbumu = recenzja.idalbumu
GROUP BY album.idalbumu) ocenyalbumow
ON wykonawca.idwykonawcy = ocenyalbumow.idwykonawcy
GROUP BY wykonawca.idwykonawcy;
Chce tu pokazac nazwe z tabeli wykonawca i srednia ocen z tabeli album, nie rozumiem dlaczego została uzyta tu funkcja MAX "MAX(nazwa)".Nastepnie podzapytanie " (SELECT album.idalbumu, MAX(idwykonawcy) idwykonawcy, AVG(ocena) ocena
FROM album LEFT JOIN recenzja ON album.idalbumu = recenzja.idalbumu
GROUP BY album.idalbumu) ocenyalbumow" rowniez sprawia mi problem jak została policzona tu średnia ocen wszystkich recenzji. Proszę o wytłumaczenie. Z góry bardzo dziękuje.