ОБНОВЛЕНИЕ из SELECT с расчетами - PullRequest
0 голосов
/ 12 октября 2011

Я пытаюсь сделать UPDATE из SELECT в соответствии с форматом, заданным этим SO потоком

Это не работает.Мне интересно, потому что мне нужна другая структура UPDATE ... SELECT при выполнении вычислений.

Я пробовал различные версии следующего:

        UPDATE tbl_usertime uat
            SET uat.delay_qual = (TIMESTAMPDIFF(MINUTE, uat.view_date, '2011-10-11 15:22:25') > adt.delay), 
            freq_qual = (adt.frequency > uat.imps_today)
        FROM tbl_timing adt
        JOIN tbl_usertime uat 
            ON uat.ad_id = adt.ad_id;

... ноон возвращает 'ошибку в синтаксисе SQL ... рядом с' ОТ tbl_timing adt JOIN tbl_usertime uat '

Есть идеи?Спасибо!

Ответы [ 2 ]

2 голосов
/ 12 октября 2011

Синтаксис MySQL немного отличается, попробуйте это:

update tbl_usertime uat join tbl_timing adt on uat.ad_id=adt.ad_id set
    uat.delay_qual = (TIMESTAMPDIFF(MINUTE, uat.view_date, '2011-10-11 15:22:25') > adt.delay), 
        freq_qual = (adt.frequency > uat.imps_today)
1 голос
/ 12 октября 2011

Я не уверен, что это будет работать, но чтение документации MySQL создает у меня впечатление, что оно может быть действительным:

UPDATE tbl_usertime join tbl_timing
SET tbl_usertime.delay_qual = (TIMESTAMPDIFF(MINUTE, tbl_usertime.view_date, '2011-10-11 15:22:25') > tbl_timing.delay), 
    freq_qual = (tbl_timing.frequency > tbl_usertime.imps_today)
where 
tbl_usertime.ad_id = tbl_timing.ad_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...