|
|
|
| Значит имеются 2 таблицы, первая - таблица тем, вторая - таблица сообщений
Вот их вид:
1)Таблица support_themes
stid // id темы
category // id категории к которой принадлежит тема (по умолчанию = 1)
title // Название темы
user_id // Автор темы
|
2)Таблица support_posts
spid / /id сообщения
theme // id темы к которой принадлежит сообщение
message // текст сообщения
time // время сообщения
|
Мне нужно составить такой запрос, чтобы из базы выбирал темы по такому порядку:
- ее id
- название
- id автора
- кол-во сообщений в теме
- время последнего сообщения.
Сортировка тем идет по времени последнего сообщения в теме.
Я сделал такой запрос:
SELECT st.stid, st.title, st.user_id, count(sp.spid) as count_posts, MAX(sp.time) as time FROM support_themes st, support_posts sp WHERE sp.theme = st.stid AND st.category = 1 ORDER BY sp.time DESC
|
В таблице было 2 темы и 5 сообщений. 2 сообщения принадлежало к 1 теме, 3 ко второй. В итоге данный запрос выдавал мне данные только 1 темы. А мне нужно чтобы все темы. В чем ошибка запроса? | |
|
|
|
|
|
|
|
для: ZAHTET
(13.12.2009 в 15:42)
| | Ну а st.category у второй темы какой? | |
|
|
|
|
|
|
|
для: Fractured#
(13.12.2009 в 15:49)
| | 1 естественно | |
|
|
|
|
|
|
|
для: ZAHTET
(13.12.2009 в 15:50)
| | А где GROUP BY st.stid? Как он вообще работает тогда? | |
|
|
|
|
|
|
|
для: Fractured#
(13.12.2009 в 15:53)
| | Забыл) Спасибо вам большое, помогло. | |
|
|
|