Mysql
 sql >> Base de données >  >> RDS >> Mysql

MYSQL JOIN si le champ n'est pas nul

Si je vous comprends bien (vous n'avez fourni aucune donnée d'exemple), cette requête fournit les données souhaitées :

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 sera NULL si a.updaterid IS NULL` (ou l'utilisateur de mise à jour est supprimé) ou conservera le nom autrement.