Daniel_Petratsch: MySQL Abfrage

Beitrag lesen

Hallo Twilo!

das Feld "_email" hat auf jedenfall ein Wert, ohne eine eMail-Adresse, kann sich kein User registrieren
dann sollte doch kein Problem auftreten, oder?

oder meintet ihr etwas anderes?

Der Hinweis von Ilja war schon korrekt, denn der INNER JOIN gibt den Datensatz nur zurück insofern in der gejoineten (oder wie man das auch immer schreibt :) ) Tabelle auch ein Datensatz mit dem gleichen Schlüssel existiert. Konkret: Hat du in Tabelle 1 einen Datensatz mit dem Key "id=5" und in der Tabelle 2 keinen Datensatz mit der "id=5", so bekommst du diesen Datensatz überhaupt nicht ausgegeben. Existiert aber so ein Datensatz (wichtig ist, er muss nur existent sein, ob in deinem Email Feld etwas eingetragen ist oder nicht ist egal) so wird er auch ausgegeben.

Den LEFT JOIN benötigst Du genau dann wenn du den Datensatz trotzdem ausgegeben bekommen möchtest (obwohl kein Pendant in der 2. Tabelle existiert).
D.h. an der Stelle der auszugebenden Felder in Tabelle 2 wird dann einfach ein NULL ausgegeben, somit ist dann ersichtlich dass dieser Datensatz nicht existiert, oder falls existent noch kein Wert eingetragen war.

Probiers einfach im PHPMYADMIN aus, dann verstehst du das gleich einmal.

freundliche Grüße,
Daniel Petratsch