Manglende gruppe ved i ydre udvalg. Alle ikke-aggregater i en udvalgt erklæring skal være opført i gruppen af.
SELECT aname, MAX(cruisingrange)
FROM Aircraft
WHERE aid IN(SELECT aid
FROM Certified
WHERE eid in (SELECT eid
FROM Certified
GROUP BY eid
HAVING COUNT(eid) > 3) )
GROUP BY aname
;
Bemærk, at du har en gruppe ved den indre mest udvalgte; men du ser ud til at mangle det yderst.
Jeg er også enig i, du mener in
eller equal
vil mere end ét EID være i Certified, hvis det er tilfældet, du sandsynligvis har brug for in
vs =