Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL JOIN, jeśli pole nie jest puste

Jeśli dobrze rozumiem (nie podałeś żadnych przykładowych danych), to zapytanie dostarcza żądanych danych:

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 będzie NULL jeśli a.updaterid IS NULL` (lub użytkownik aktualizujący zostanie usunięty) lub zachowa nazwę w innym przypadku.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql usuń wszystkie wiersze starsze niż 30 dni

  2. Grupuj daty w pętli foreach

  3. Jak mogę zwrócić dane wyjściowe tabeli przestawnej w MySQL?

  4. Sprawdź połączenie mysql w sequelize

  5. 12 najlepszych praktyk bezpieczeństwa MySQL/MariaDB dla systemu Linux