ОБНОВЛЕНИЕ столбца с использованием результата из подзапроса SELECT - PullRequest
0 голосов
/ 26 апреля 2011

Этот запрос возвращает ошибку: «Подзапрос возвращает более одной строки»:

UPDATE forums as f 
SET f.f_last_pid = (SELECT pid FROM  posts ORDER BY  ptime DESC )

Я знаю, что мне нужно использовать ANY перед подзапросом, но это не даст желаемого результата. Я хочу обновить каждую строку в моей таблице форумов на основе результата, показанного в подзапросе.

Ответы [ 2 ]

4 голосов
/ 26 апреля 2011
UPDATE forums as f 
SET f.f_last_pid = 
    (SELECT pid FROM posts ORDER BY ptime DESC LIMIT 1 )

Но (не зная вашей схемы), вы ни к чему не присоединяетесь к этим таблицам. Каждые last_pid в forums будут обновляться последним сообщением в posts

0 голосов
/ 26 апреля 2011
UPDATE forums as f
SET f.f_last_pid = (SELECT pid FROM posts ORDER BY ptime DESC LIMIT 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...