Это должно быть довольно легко, но я не могу придумать никакого решения и не могу найти ответ где-нибудь...
У меня есть таблица "пользователи"
и одна таблица "блоги" (user_id, сообщение в блоге)
и одна таблица "сообщения" (user_id, сообщение)
Я хотел бы иметь следующий результат:
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
Это явно не работает, потому что второе левое соединение относится к блогам, а не к пользователям. Какие-либо предложения?