Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 145
от 09.09.2006, 18:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 343, Экспертов: 51
В номере:Вопросов: 1, Ответов: 1


Вопрос № 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
Комментарий оценки:
Спасибо за быстрый ответ! Если не трудно, прокомментируйте свой запрос на мини-форуме, а то я до конца все не понял.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное