Установить значение столбца в другой столбец в той же строке?

#sql #oracle

#sql #Oracle

Вопрос:

У меня есть таблица foo:

 Id col1 col2  result
-- ---- ---- -----
1   a     b 
2   c     d   
 

Мне нужно обновить строку с идентификатором 1 следующим образом:

 update foo set result = 'str1=x,str2=col2_value' where Id = 2
 

результат после обновления должен быть:

 Id col1 col2  result
-- ---- ---- ----------
1   a     b   str1=x,str2=b
2   c     d
 

Как поместить значение col2 в строку в результате?

Комментарии:

1. Вы используете MySQL или Oracle? (Пожалуйста, не помечайте продукты, которые не участвуют.)

2. Вы говорите, что вам нужно обновить строку с id = 1, тогда вы делаете where id=2 . Я что-то здесь упускаю?

3. о, это oracle

Ответ №1:

Просто используйте Concat

 update foo set result=CONCAT('str1=x,str2=',col2) where Id=1
 

Ответ №2:

Похоже, вам нужна функция concat:

MySQL Concat

 UPDATE foo SET result = CONCAT('str1=x,str2=',col2) WHERE id = 1;
 

Ответ №3:

ОБНОВИТЬ foo SET result = ‘str1= x,str2 =’ col2 » ИЗ foo, ГДЕ id = 1;