Zudem sind alle Verbesserungen dieses Threads nicht umgesetzt!
Ich würde auch konsequent Aliase verwenden. Die Joinbedingungen sind auch vertauscht.
SQL-Code:
SELECT
1 as Feld,
SUM(x.tmp) as tmp
FROM
(
SELECT
w.weight, s.name, SUM(g.grade*w.weight)/COUNT(*))/100 AS tmp
FROM
grades g
JOIN subjects s ON s.recno = g.subject
JOIN weights ON w.recno = g.weight
GROUP BY
w.weight, s.name
) x
GROUP BY
x.Feld;