Danke.
jedes andere dbms würde dir bei dieser anweisung eine fehlermeldung ausgeben. bei einer gruppierung können nur die spalten in der projektion ausgegeben werden, über die auch gruppiert wurde, es sei den, sie sind in einer aggregat-funktion eingebunden. nur mysql bestreitet dort aus performancegründen andere wege, was aber zu mehr verwirrung führt, als es hilfreich ist und gibt dir deswegen keine fehlermeldung aus. zum einen fragt sich, ob der name in der tabelle airports überhaupt eindeutik sein muss, zum anderen solltest du die id mit in die gruppierung nehmen, wenn du sie auch ausgeben willst.
Also so?:
[code=sql]
SELECT a.name, a.icao (...)
FROM airports AS a
(...)
GROUP BY a.name, a.icao
;
[/code]
zusätzlich würde ich untersuchen, ob die OUTER JOINS notwendig sind, oder ob man daraus nicht INNER JOINS machen kann. eventuell würde ich sogar gar keinen JOIN benutzen, sondern Unterabfragen verwenden.
Danke für den Tipp. Werd's mir mal anschauen.