Наверное, у меня так голова работает... Если я с какой то штукой не сталкивался и она не совсем рабочая, мне тяжело понять, как она устроена.
Вставляю без изменений (понимаю, что так не сработает)
UPDATE product_description pd
JOIN product p ON p.product_id = pd.product_id
SET pd.tag =
CASE
WHEN pd.tag = ''
THEN p.mpn
ELSE CONCAT(pd.tag,',',p.mpn)
Ответ:
Ошибка
Статический анализ:
Найдено 1 ошибок при анализе.
Неожиданное окончание CASE выражения (near "" at position 0)
SQL запрос:
UPDATE product_description pd JOIN product p ON p.product_id = pd.product_id SET pd.tag = CASE WHEN pd.tag = '' THEN p.mpn ELSE CONCAT(pd.tag,',',p.mpn)
Ответ MySQL:
#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около '' на строке 9
Лезу в гугл, нахожу http://www.sql-tutorial.ru/ru/book_update_statement.html и добавляю в конец END;
Ответ:
Ошибка
SQL запрос:
UPDATE product_description pd
JOIN product p ON p.product_id = pd.product_id
SET pd.tag =
CASE
WHEN pd.tag = ''
THEN p.mpn
ELSE CONCAT(pd.tag,',',p.mpn)
END
Ответ MySQL:
#1146 - Таблица 'mytable.product_description' не существует
Издеваюсь над запросом дальше...
Что я понимаю:
1)
UPDATE product_description pd
JOIN product p ON p.product_id = pd.product_id
Обновляем таблицу такую и связали две.
2)
SET pd.tag =
CASE
WHEN pd.tag = ''
THEN p.mpn
ELSE CONCAT(pd.tag,',',p.mpn)
pd.tag = условию, которое ниже, а условие я не понимаю (чтокудазачемдописывать).
Я понимаю, что это немного наглость, но не могли бы Вы дописать запрос, чтобы он работал с моими данными («МПН 333» и «Тэг 333».)