Tach!
Da im Gegensatz zum von mir vorgestellten Szenario bei einigen Einträgen der Benutzername und die Email eines registrierten Benutzers sehr wohl in der Tabelle Beitraege drinstehen [1], damit also in beiden Tabellen vorhanden sind, fallen dedlfixs Angebote IFNULL und COALESCE weg, da sie eines der beiden Felder als leer (bzw. NULL) erfordern.
NULL erfordern beide nicht unbedingt. Es kommt nun drauf an, ob der Dreh- und Angelpunkt die user_id ist, oder ob du anhand der Inhalte entscheiden kannst, was genommen werden soll. Soll die registrierte Angabe vor der Beitragsangabe genommen werden, dann kann COALESCE(reg.Name, beitrag.name) die gewünschten Daten liefern. Soll primär die Beitragsangabe genommen werden, muss diese NULL sein, wenn der Nutzer registriert ist und diese Daten nehmen willst: COALESCE(beitrag.name, reg.name). Das geht so auch in dem Fall, dass eine vorhandene Beitragsangabe immer eine registrierte Angabe übertrumpfen soll.
In dem Fall mit zwei Werten ist auch IFNULL() eine Alternative zu COALESCE().
Mit der Funktion CASE aus der Ablaufsteuerung funktioniert das.
Wenn die user_id ausschlaggebend ist, kannst du IF() nehmen. Das lässt sich bei einfachen Alternativen kürzer schreiben.
dedlfix.