@eugeneledenev

Почему не работает UPDATE + SELECT?

UPDATE oc_product_description pd2 
SET pd2.description= tmp.description FROM (
SELECT p.product_id, CONCAT(pd.description,t.desc) AS description FROM oc_product p 
LEFT JOIN oc_product_description pd ON (p.product_id=pd.product_id)
INNER JOIN temp_id ti ON (ti.sku=p.sku)
LEFT JOIN temp t ON (t.url=ti.url)
WHERE p.sku LIKE 'iek_%') as tmp
WHERE tmp.product_id=pd2.product_id;

Не могу понять почему не работает. Помогите разобраться с синтаксисом.
Внутренний SELECT отрабатывает, а вот когда пытаюсь вставить его в UPDATE ругается на as или tmp.
  • Вопрос задан
  • 329 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Arik
Надо одно поле спрашивать в селекте и наверно
UPDATE oc_product_description pd2 
SET pd2.description = (SELECT CONCAT( pd.description,  t.desc) FROM ...)
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
B UPDATE, INSERT и DELETE нельзя использовать в подзапросах изменяемую таблицу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы