Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Имеется таблица объявлений board, на странице сайта с конкретным объявлением, выводятся заголовки похожих объявлений, чтобы не загружать БД поиском похожих объявлений добавил столбец related VARCHAR, куда раз в день для каждого объявления хочу записывать 10 id`шников похожих записей в виде x,x,x,x,...x. Задача выполнять обновление таблицы в одном запросе UPDATE. Таблица board имеет 5 столбцов: id, name, descr, checked, related.
Попытался вот так:
UPDATE board AS usr SET usr.related= ( SELECT GROUP_CONCAT(x.id) FROM ( SELECT y.id FROM board AS y WHERE MATCH(y.name, y.descr) AGAINST(usr.name) AND y.checked='y' LIMIT 10 ) as x )
Пишет:
Unknown column 'usr.name' in 'where clause'.
Я также попробовал с вложенным подзапросом непосредственно в AGAINST, но выдает ту же ошибку, т.е. не получается передать заголовок name текущего объявления из основного запроса в подзапрос.
Неактивен
В подзапрос через равенство действительно нельзя. Попробуйте переписать
через объединение или сделайте процедуру с курсором.
Неактивен
Страниц: 1