sql >> Database >  >> RDS >> Mysql

MySQL Meerdere linkse joins

U mist een GROUP BY-clausule:

SELECT news.id, users.username, news.title, news.date, news.body, COUNT(comments.id)
FROM news
LEFT JOIN users
ON news.user_id = users.id
LEFT JOIN comments
ON comments.news_id = news.id
GROUP BY news.id

De linker voeg is correct. Als je een INNER of RIGHT JOIN gebruikte, kreeg je geen nieuwsitems zonder commentaar.



  1. ORA-04021:time-out opgetreden tijdens het wachten om object te vergrendelen

  2. BatchUpdateException:de batch wordt niet beëindigd

  3. golang gorm Toegang tot de onderliggende mysql-query

  4. Schemawijzigingen in MySQL en MariaDB op een veilige manier uitvoeren