MySQL join liefert NULL Values

Garbook

Neuer Benutzer
Beiträge
1
Hi zusammen,

ich habe ein sehr eigenartiges Problem :-(

Ich habe zwei verschiedene Datenbanken (lokal und auf einem Server).

Bei mir lokal habe ich die Version 5.6.11 und auf dem Server 5.5.37-log.

Wenn ich jetzt ein Select mit einem Join ausführe bekomme ich bei beiden Systemen ein unterschiedliches Ergebnis, obwohl die Datensätze identisch sind :-(

Nach meinen Forschungen liegt es an der Fieldliste, wenn ich ein * schreibe dann bekomme ich auch die Werte angezeigt...

Hier mal das Select:

PHP:
SELECT t1.id, t1.name, t2.name as t2name FROM t1
LEFT JOIN ... WHERE t1.id=2 GROUP BY t1.id

Kann mir evtl. einer weiterhelfen?
 
Werbung:
Ich habe zwei verschiedene Datenbanken (lokal und auf einem Server).

Bei mir lokal habe ich die Version 5.6.11 und auf dem Server 5.5.37-log.

Wenn ich jetzt ein Select mit einem Join ausführe bekomme ich bei beiden Systemen ein unterschiedliches Ergebnis, obwohl die Datensätze identisch sind :-(

MySQL halt. In die Berechnung des Resultates geht neben jeder Menge Zufall auch die eingesetzte Versionsnummer mit ein ;-)

Nach meinen Forschungen liegt es an der Fieldliste, wenn ich ein * schreibe dann bekomme ich auch die Werte angezeigt...

Hier mal das Select:

PHP:
SELECT t1.id, t1.name, t2.name as t2name FROM t1
LEFT JOIN ... WHERE t1.id=2 GROUP BY t1.id

Kann mir evtl. einer weiterhelfen?

Wozu dient das GROUP BY? Das ist nach SQL-Norm so in dieser Form syntaktisch falsch. Zukünftige Versionen von MySQL (ab 5.7.5.) erkennen das als Fehler. Dein Select wird also in der Zukunft und in 'richtigen' Datenbanken jetzt schon scheitern. MySQL derzeit liefert Dir ein mehr oder weniger zufälliges Resultat, und das je nach version sogar unterschiedlich. Toll, oder?
 
Zurück
Oben