sql >> Databáze >  >> RDS >> Mysql

MySQL vícenásobná levá spojení

Chybí vám klauzule GROUP BY:

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

Levý spoj je správný. Pokud byste použili INNER nebo RIGHT JOIN, nedostávali byste zprávy, které by neměly komentáře.



  1. laravel 4 - jak omezit (vzít a vynechat) pro výmluvné ORM?

  2. CONVERT() v SQL Server

  3. Jak nahradit operátor OR operátorem UNION?

  4. Jak doleva spojit 2 tabulky ve 2 různých databázích?