Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL JOIN, ако полето не е празно

Ако ви разбирам правилно (не сте предоставили никакви примерни данни), тази заявка предоставя данните, които искате:

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 ще бъде NULL ако a.updaterid IS NULL` (или потребителят-актуализатор е изтрит) или ще задържи името в противен случай.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво се случи първо в mysql:присъединяване или къде

  2. Как да превърна тази MySQL SELECT заявка в DELETE заявка?

  3. Mysql group_concat със суми също вътре

  4. Как да променя ПОТРЕБИТЕЛСКАТА ИМЕ И ПАРОЛА на MySQL?

  5. Оптимизация на индекса на MySQL таблица