Ilja: MySQL - Bedinung in LEFT Join

Beitrag lesen

moin,

Diese Tabellen werden über einen LEFT JOIN verknüpft:
SELECT * FROM autos LEFT JOIN ausstattung ON autos_id = ausstattung_autos_id GROUP BY autos_id

als ergänzung zu dem, was dir Vinz schon gesagt hat. diese art der abfrage, bzw. gruppierung würde bei jedem andenrem dbms zu einer fehlermeldung führen, nur nicht bei mysql. normalerweise darf man nur die spalten anzeigen, über die man auch gruppiert hat, in deinem falle wäre das autos_id oder aber die in einer aggregatfunktion wie zum beispiel COUNT() eingebettet sind.

mysql geht da aber aus performancegründen einen eignen weg, der alleine hier im selfhtml forum schon zu cirka 10 milliarden verwirrten menschen geführt hat, die zum großen teil gar nicht erkennen, das es sich um einen fehler handelt. deswegen mein tipp an dich, gib nur die spalten aus, über die du auch gruppiert hast. willst du mehr ausgeben, als die gruppierung her gibt, dann benutzt man andere wege wie zum beispiel korrelierte unterabfragen.

ps: noch ein zipp, bei den bezeichnern von tabellen und spalten nimmt man in aller regel immer den singular.

Ilja