Vinzenz Mai: MySql: Selbe query funktioniert nicht auf pc, aber auf server

Beitrag lesen

Hallo

Schlampiges SQL (das nur alte MySQL-Versionen akzeptieren) mit verwirrenden
Aliasnamen. Ich finde es gut, dass MySQL inzwischen mehr auf Standards achtet
und schlampige Statements mit Fehlermeldungen bestraft.

Früher hat MySQL einfach falsche Ergebnisse geliefert, das war viel schlimmer.

Das Script lieferte mir vor 1/2 Jahr dieses Forum. Ich hätte doch besser selbst nachlesen sollen. Bisher hat es immer funktioniert, deshalb habe ich nicht nachgelesen.

Hättest Du damals schon auf Axel gehört, der Dir das gleiche empfohlen hat wie jetzt Ilja: Nutze explizite Joinsyntax!

Du hast den impliziten Join schon mitgebracht, ok mit Axels Erweiterung
wurde es falsch :-)

Tipp:
Lies insbesondere die Bereiche, die sich mit Deiner Fehlermeldung beschäftigen.

Mein Gott ist das viel... Ja mache ich.

Soviel ist das doch gar nicht, es gibt da so hübsche Abschnitte wie:

<zitat>
Previously, the SELECT was legal due to the implicit grouping of t1,t2 as (t1,t2). Now the JOIN takes precedence, so the operands for the ON clause are t2 and t3. Because t1.i1 is not a column in either of the operands, the result is an Unknown column 't1.i1' in 'on clause' error.
[...]
Alternatively, avoid the use of the comma operator and use JOIN instead:
</zitat>

Nach Axel, Ilja und dem MySQL-Handbuch nun auch noch von mir die Empfehlung:
Nutze explizite Joinsyntax statt impliziten Joins und dem Kommaoperator!

Freundliche Grüße

Vinzenz