Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Постепенный ввод даты регистрации
 
 автор: cheops   (18.03.2011 в 20:43)   письмо автору
 
 

Так как на форуме изначально отсутствовала дата регистрации, то вводить её планируется по первому сообщению автора на форуме. В таблицу authors введн столбец registertime, который будет заполняться следующим запросом.
UPDATE (SELECT ath.id_author AS id_author, MIN( archive_posts.time ) AS registertime
FROM (
SELECT * 
FROM authors
WHERE registertime = '0000-00-00 00:00:00'
ORDER BY id_author
LIMIT 20 
) AS ath
LEFT JOIN archive_posts ON ( ath.id_author = archive_posts.id_author ) 
GROUP BY ath.name) AS rtm
LEFT JOIN
authors ON (rtm.id_author = authors.id_author)
SET authors.registertime = rtm.registertime
WHERE rtm.id_author = authors.id_author

К сожалению, коррелированные запросы UPDATE не поддерживает, поэтому будем работать многотабличными UPDATE-запросами, ограничивая объем таблицы авторов первыми 20 записями. Условие WHERE registertime = '0000-00-00 00:00:00' позволит не затрагивать уже участвующие записи.

К сожалению, вся эта идилия нарушится при подходе к авторам, которые не отметились в архивной таблице. Ну да ничего, чего-нибудь придумаем.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования