SELECT `u`.`users_id` , IFNULL( COUNT( `p`.`forum_posts-id` ) , 0 ) AS posts
FROM `users` `u`
LEFT JOIN `forum_posts` `p` ON ( `p`.`forum_posts-user` = `u`.`users_id` )
WHERE `u`.`users_id`
IN ( 2, 3, 4, 5, 52 )
в результатах отображается только результат для первого в списке пользователя (ИД -2), хотя все остальные ИД есть в базе 'users'
Если убрать , IFNULL( COUNT( `p`.`forum_posts-id` ) , 0 ) AS posts - тогда все записи есть, но чегего не считает(
ЕДИТ
Вот так будет правильно?
SELECT `u`.`users_id` , (
SELECT COUNT( `forum_posts-id` )
FROM `forum_posts`
WHERE `forum_posts`.`forum_posts-user` = `u`.`users_id`
) AS posts
FROM `users` `u`
WHERE `u`.`users_id` IN (1,52)
_____________
Одесса - мой город!)))