powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом(сортировка)
5 сообщений из 5, страница 1 из 1
Помогите с запросом(сортировка)
    #32023858
Илья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот запутался в трех соснах .
Делаю форум для сайта который на MS SQL Server'e 2000.
Завел таблицу для форума, структура такая:
msgID | parentID | Subject | Message | TimePosted
Соответственно у первых постов parentID=0, а у ответов на него parentID равен msgID первого поста.
Как при такой структуре сделать запрос с сортировкой по последнему посту и при том выводить только те, где parentID=0?
(т.е такая же сортировка как и на этом форуме)
Спасибо!
...
Рейтинг: 0 / 0
Помогите с запросом(сортировка)
    #32023859
MadDog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то вроде этого:
select *
, lastPost = (select max(TimePosted)
from t t2
where t2.msgID = t1.msgID
)
from t t1
order by lastPost desc

А почему не хотите использовать отдельную таблицу для "заголовков"? Производительность была бы получше.
...
Рейтинг: 0 / 0
Помогите с запросом(сортировка)
    #32023862
Илья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть сделать 2 таблицы типа:

*TableTitles*
TitleID | TimePosted | MessageText | Subject

*TableReplies*
ReplyID | TimePosted | MessageText | TitleID

и соединить ключом по TitleID?
Ваш запрос под такую структуру? Как вообще обычно в форумах делают?
...
Рейтинг: 0 / 0
Помогите с запросом(сортировка)
    #32023865
MadDog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"То есть сделать 2 таблицы типа"
Да, вроде этого. И в таблицу TableTitles добавил бы поле LastTimePosted и обновлял бы его из триггера в таблице TableReplies.

"Ваш запрос под такую структуру?"
Нет, мой запрос - под Вашу структуру. См. свой первый вопрос.

Будь поле LastTimePosted в таблице TableTitles, запрос бы выглядел так:
select *
from TableTitles
order by LastTimePosted desc

"Как вообще обычно в форумах делают?"
Не знаю. Завтра многострадальный народ приступает к работе. Много чего могут рассказать на свежую голову.
...
Рейтинг: 0 / 0
Помогите с запросом(сортировка)
    #32023895
Илья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, так и сделал.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом(сортировка)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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