Я бы начал с того, что придерживался согласованного соглашения об именах для моих таблиц и держал их все в единственном числе
SELECT article_id = a.article_id
,review_count = COUNT(DISTINCT(r.review_id))
,comment_count = COUNT(DISTINCT(c.comment_id))
FROM article a
LEFT OUTER JOIN review r
ON a.article_id = r.article_id
LEFT OUTER JOIN comment c
ON a.article_id = c.article_id
GROUP BY a.article_id
Вот некоторые тестовые данные, с которыми можно поиграть:
-- Create tables
CREATE TABLE article(article_id INT)
CREATE TABLE review(review_id INT, article_id INT)
CREATE TABLE comment(comment_id INT, article_id INT)
-- Create some test data
INSERT INTO article SELECT 1
INSERT INTO article SELECT 2
INSERT INTO article SELECT 3
INSERT INTO review SELECT 10, 1
INSERT INTO review SELECT 20, 2
INSERT INTO review SELECT 30, 2
INSERT INTO review SELECT 40, 3
INSERT INTO review SELECT 50, 3
INSERT INTO review SELECT 60, 3
INSERT INTO comment SELECT 200, 1
INSERT INTO comment SELECT 300, 1
INSERT INTO comment SELECT 400, 2
INSERT INTO comment SELECT 500, 2
INSERT INTO comment SELECT 600, 3
ПослеВы значительно изменили свой вопрос, я полагаю, что этот запрос даст вам ответ:
SELECT u.content_type_id
,u.object_id
,review_count = SUM(u.review_count)
,comment_count = SUM(u.comment_count)
FROM
(
SELECT content_type_id
,object_id
,review_count = COUNT(*)
,comment_count = 0
FROM review
GROUP BY content_type_id, object_id
UNION
SELECT content_type_id
,object_id
,review_count = 0
,comment_count = COUNT(*)
FROM comment
GROUP BY content_type_id, object_id
) u
GROUP BY u.content_type_id, u.object_id
А вот некоторые тестовые данные для работы:
CREATE TABLE review(review_id INT, content_type_id INT, object_id INT)
CREATE TABLE comment(comment_id INT, content_type_id INT, object_id INT)
INSERT INTO review SELECT 11, 10, 100
INSERT INTO review SELECT 12, 10, 100
INSERT INTO review SELECT 13, 20, 100
INSERT INTO review SELECT 13, 10, 200
INSERT INTO review SELECT 13, 30, 100
INSERT INTO comment SELECT 21, 10, 100
INSERT INTO comment SELECT 22, 20, 100
INSERT INTO comment SELECT 23, 20, 100
INSERT INTO comment SELECT 24, 20, 100
INSERT INTO comment SELECT 25, 10, 200
INSERT INTO comment SELECT 26, 10, 200