Логическая ошибка объединения таблиц
А если решить прямо?:
SELECT `objects`.*, COUNT(SELECT `id` FROM `comments` WHERE `objects`.`id` = `comments`.`obj_id`) AS `comments`
FROM `objects`
WHERE `objects`.`active` = 1 
ORDER BY `objects`.`rating` DESC 
LIMIT 1000

нужно GROUP BY `objects`.`id` 