Se stai usando SQL Server, hai un JOIN
non corretto . E pseudonimi di tavoli molto poveri. Forse questo fa quello che vuoi:
update fs
set user_id = u.id,
message = SUBSTRING(fs.message, 1, CHARINDEX('[', fs.message)-1)
from edi_file_steps fs INNER JOIN
GU_User u
on u.login = SUBSTRING(fs.message, CHARINDEX('[', fs.message)+1, len(fs.message)- CHARINDEX('[',fs.message)-1 )
where message LIKE '%Downloaded%' ;
MODIFICA:
In MySQL, questo sarebbe:
update edi_file_steps fs INNER JOIN
GU_User u
on fs.message like concat('%[', u.login, ']%')
set user_id = table_B.id,
message = substring_index(fs.message, '[', 1)
where message LIKE '%Downloaded%' ;