powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Можно ли объединить это в одном запросе?
2 сообщений из 2, страница 1 из 1
Можно ли объединить это в одном запросе?
    #33277706
Nafigator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица форумов. Есть таблица тем в форумах. Есть таблица сообщений в темах (где фигурирует и вопрос автора, и ответы на него).
Хотелось бы одним запросом вывести:

форум_такой_то кол-во тем в данном форуме кол-во сообщений во всех темах форума.

По отдельности запросы работают:

1)

SELECT forum_id, forum_name, forum_description, forum_image, COUNT(topic_id) FROM forums LEFT JOIN topics ON forums.forum_id = topics.topic_forum_id GROUP BY forum_id

2)

SELECT response_topic_id, COUNT(response_topic_id) FROM responses LEFT JOIN topics ON response_topic_id = topic_id GROUP BY response_topic_id


А как эти запросы слить в один?

(MySQL 3.23)
...
Рейтинг: 0 / 0
Можно ли объединить это в одном запросе?
    #33277718
Nafigator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже объединил.

Что странно - когда пишу

Код: plaintext
SELECT forum_id, COUNT(topic_id) as messages FROM forums LEFT JOIN topics ON forum_id = topic_forum_id LEFT JOIN responses ON response_topic_id = topic_id GROUP BY forum_id

- выводится все верно.

Когда добавляю COUNT(DISTINCT topic_id) - для форума, где отсутствуют сообщения, почему-то появляется единица вместо нуля!!

Пришлось сделать

Код: plaintext
SELECT forum_id, IF (forum_id = topic_forum_id, COUNT(topic_id),  0 ) AS messages, COUNT(DISTINCT topic_id) AS topics FROM forums LEFT JOIN topics ON forum_id = topic_forum_id LEFT JOIN responses ON response_topic_id = topic_id GROUP BY forum_id

- уж не знаю, насколько это верно...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Можно ли объединить это в одном запросе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]