Как можно сопоставить значения колонки "value_old", разделенные запятыми, с идентификаторами в таблице "c_user", чтобы заменить числа на соответствующие имена пользователей?
Для того чтобы заполнить таблицу данными и заменить значения колонки "value_old" на имена пользователей из таблицы "c_user", можно воспользоваться следующим SQL-запросом: ```sql UPDATE your_table t SET t.value_old = ( SELECT GROUP_CONCAT(u.username) FROM c_user u WHERE FIND_IN_SET(u.user_id, t.value_old) ) ``` Где: - `your_table` - название вашей таблицы, в которой необходимо произвести замену значений - `value_old` - название колонки, в которой содержатся значения, которые нужно заменить - `c_user` - название таблицы с именами пользователей и их идентификаторами - `user_id` - название колонки с идентификаторами пользователей в таблице "c_user" - `username` - название колонки с именами пользователей в таблице "c_user" Этот запрос произведет замену чисел в колонке "value_old" таблицы `your_table` на соответствующие имена пользователей из таблицы `c_user`, используя сопоставление по идентификаторам пользователей.
Вроде бы что-то похожее на это:
SELECT ch.id_element, ch.`table`, ch.param, GROUP_CONCAT(cu.name) AS value_new FROM c_history ch LEFT JOIN c_object co ON co.id = ch.id_element LEFT JOIN c_user cu ON FIND_IN_SET(cu.id, ch.value_old) WHERE ch.`table` = 'c_object' AND ch.param = 'ids_user_merge' GROUP BY ch.id_element, ch.`table`, ch.param;
Но убедительно буду просить прочитать правила нормализации бд, чтобы не было больше таких вопросов. И таких таблиц.