Общие > Базы данных
Сложный запрос
Rodent:
Для начала опишу ситуацию: Форум, две таблицы из него :-)
таблица forum с полями id_forum title last_post
таблица post c полями id_forum id_post text name date
можно ли сделать такой запрос, чтобы бд выдала результат в обратной последовательности по дате последнего поста определенного форума ( т.е. форум в который был добавлен последний пост, становиться первым и т.д.)
я пока ничего лучшего не нашел (точнее пока с запросами сложными не разобрался, вот на примерах пробую...) как
при каждом добавлении в форум нового поста, добавляем в таблицу forum новую колонку last_post куды вставляется дата последнего поста
и делаем вот такой запрос
select * from forum order by last_post desc
А можно как-нить без поля last_post?
Макс:
Rodent
потрудись написать свой вопрос более внимательно.
Например ты перечислил таблицы forum / post но в примере запроса импользуешь таблицу topic
Нужны - четкая структура таблица, перечень полей, которые надо получить запросом, ограничения запроса, дополнительная информация (на твое усмотрение)
Rodent:
Сделано
Макс:
попробуй
--- Код: ---
SELECT f. * , MAX( p.date ) AS last_post
FROM forum f
INNER JOIN post p ON p.id_forum = f.id_forum
GROUP BY p.id_forum
ORDER BY last_post DESC
--- Конец кода ---
Rodent:
Макс
вы наверное меня не поняли, хотя сам виноват... так все расписывать....
структура таблиц отсается неизменной
таблица forum с полями id_forum title last_post
таблица post c полями id_forum id_post text name date
вывожу форумы в обратной последовательности отсортировав по последнему посту в данном форуме
как я это делаю.
создал доп поле в таблице forum то самое last_post в котором информация обновляется при добавлении очередного поста
и при выборке используется вот такой запрос
select * from forum order by last_post desc
можно ли создать такой запрос чтобы не использовать поле last_post и таким образом удалить его вообще
зачем хранить инфо о посл посте если можно ее спокойно найти отсортировав по дате и номеру форума сами посты. но вот как это сделать одним запросом?
Навигация
Перейти к полной версии