【发布时间】:2011-10-13 14:57:59
【问题描述】:
这一定很容易,但我想不出任何解决方案,也无法在某处找到答案......
我得到了“用户”表
和一张表“博客”(user_id,blogpost)
和一张表'messages'(user_id,message)
我希望得到以下结果:
User | count(blogs) | count(messages)
Jim | 0 | 3
Tom | 2 | 3
Tim | 0 | 1
Foo | 2 | 0
所以我做的是:
SELECT u.id, count(b.id), count(m.id) FROM `users` u
LEFT JOIN blogs b ON b.user_id = u.id
LEFT JOIN messages m ON m.user_id = u.id
GROUP BY u.id
它显然不起作用,因为第二个左连接与博客而不是用户相关。有什么建议吗?
【问题讨论】:
标签: mysql left-join multiple-tables