Вопрос № 54296: Привет экспертам!
Проектирую гостевую книгу в которой допускаются комментарии к посту. Т.е она такого вида: см. приложение.
Планирую создать таблицу такого вида:
ID USERNAME MAIL MES DATE PARENT_ID
т.е. записывать все сообщения в...
Вопрос № 54.296
Привет экспертам!
Проектирую гостевую книгу в которой допускаются комментарии к посту. Т.е она такого вида: см. приложение.
Планирую создать таблицу такого вида:
ID USERNAME MAIL MES DATE PARENT_ID
т.е. записывать все сообщения в 1 таблицу, и если PARENT_ID=0 то это пост, а если нет то комментарий поста с ID=PARENT_ID.
Вопрос в том, как бы мне все это дело аккуратненько вытащить из БД отсортированное по дате постов в нужном порядке (как в приложении). Подскажите SQL запрос или может быть более удобный способ хранения. Использую СУБД MySQL.
Приложение:
Отправлен: 04.09.2006, 18:29
Вопрос задал: Alexius (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Morgen_krsk
Здравствуйте, Alexius!
можно к примеру вот так
SELECT CASE WHEN gr_date IS NULL THEN date ELSE gr_date END, t.* FROM(
SELECT CASE WHEN parent_id = 0 THEN id ELSE parent_id END gr_id, (SELECT date FROM messages t1 WHERE t1.id = t.parent_id AND t.parent_id > 0) gr_date, t.* FROM messages t
) t
ORDER BY 1, 2, date
Ответ отправил: Morgen_krsk (статус: 2-ой класс)
Ответ отправлен: 04.09.2006, 19:40 Оценка за ответ: 5 Комментарий оценки: Спасибо за быстрый ответ! Если не трудно, прокомментируйте свой запрос на мини-форуме, а то я до конца все не понял.