В MySQL Я пытаюсь получить количество строк в forum_posts
, где идентификатор равен post_id
столбец в forum_posts_threads
, где thread_id
колонна равна thread_id
столбец в forum_threads_forums
, где forum_id
столбца соответствует определенную ценность. В качестве иллюстрации:MySQL комплекс несколько столов
forum_forums
id name
1 forum1
2 forum2
forum_threads
id title
1 thread1
2 thread2
forum_threads_forums
thread_id forum_id
1 1
1 2
2 2
forum_posts
id title
1 post1
2 post2
forum_posts_threads
post_id thread_id
1 1
2 1
2 2
Тогда я выполнения запроса, который получает все форумы. Я бы хотел, чтобы он подсчитывал количество сообщений на каждом форуме.
Таким образом, нужно будет возвращать что-то вроде этого:
id name post_count
1 forum1 2
2 forum2 3
У меня уже есть следующий запрос:
SELECT
forum_forums.id,
forum_forums.name,
forum_forums.description,
COUNT(forum_threads_forums.thread_id) AS thread_count,
forum_categories.id AS category_id,
forum_categories.name AS category_name,
forum_categories.description AS category_description
FROM
forum_forums
LEFT OUTER JOIN
forum_threads_forums
ON
forum_forums.id=forum_threads_forums.forum_id
INNER JOIN
forum_forums_categories
ON
forum_forums.id=forum_forums_categories.forum_id
INNER JOIN
forum_categories
ON
forum_forums_categories.category_id=forum_categories.id
GROUP BY
forum_forums.id
Запрос уже в состоянии подсчитать количество потоков (и делать некоторые другие вещи), но я не уверен, как подсчитывать сообщения, так как нужно проверить состояние в двух отдельных таблицах.
Итак, если кто-нибудь может дать некоторые советы относительно того, как настроить мой запрос, который был бы замечательным.
Заранее благодарен!
Если вы замените «таблицу 1», «таблицу 2» и т. Д. В первом абзаце с фактическими именами таблиц, ваш вопрос будет намного яснее. – Tom
@Tom Я буду, извините за любую путаницу – Qub1