|
|
|
| Так как на форуме изначально отсутствовала дата регистрации, то вводить её планируется по первому сообщению автора на форуме. В таблицу 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' позволит не затрагивать уже участвующие записи.
К сожалению, вся эта идилия нарушится при подходе к авторам, которые не отметились в архивной таблице. Ну да ничего, чего-нибудь придумаем. | |
|
|