Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL JOIN, wenn das Feld nicht null ist

Wenn ich Sie richtig verstehe (Sie haben keine Beispieldaten angegeben), liefert diese Abfrage die gewünschten Daten:

SELECT a.*, u1.Name, u2.Name FROM `articles` a
JOIN `users` u1 ON (a.id=1 AND u1.`id` = a.`authorid` )
LEFT JOIN `users` u2 ON (a.`updaterid` IS NOT NULL AND u2.`id` = a.`updaterid`) 

u2.Name wird NULL sein wenn a.updaterid IS NULL` (oder der Updater-Benutzer wird gelöscht) oder behält ansonsten den Namen.