私は3つのテーブルを持っています。カテゴリ、トピック、および投稿。各トピックには、それが属するカテゴリを参照する外部キーがあります。各投稿には、その下にあるトピックを参照する外部キーがあります。
このクエリの目的は、基本的にフロント ページ クエリになることです。各カテゴリと、各カテゴリのトピック数と投稿数が必要です。これは私が持っているクエリであり、機能します。これが最も簡単な方法ですか?
SELECT c.*,
COUNT(t.idCategory) AS tCount,
p.pCount
FROM categories AS c
LEFT JOIN topics AS t
ON c.id = t.idCategory
LEFT JOIN (SELECT t.idCategory,
COUNT(p2.idTopic) AS pCount
FROM topics AS t
LEFT JOIN posts AS p2
ON t.id = p2.idTopic
GROUP BY t.idCategory) AS p
ON c.id = p.idCategory
GROUP BY t.idCategory
ORDER BY c.id
ありがとう!