Как обновить столбец в той же таблице из выборки с помощью sybase

#database #sybase

#База данных #sybase

Вопрос:

Я пытаюсь обновить столбец в той же таблице, где мой SELECT ниже возвращает результаты. Имя столбца для обновления — ID с результатом ‘AfterString’ из select.

Мой select, который возвращает данные, которые я хочу в поле ‘AfterString’:

 SELECT 
RIGHT(CODE,len(CODE)-charindex('@',CODE)) as AfterString
FROM dbo.LOG
WHERE charindex('@',CODE)<>0
  

Я не уверен, как сопоставить его строку с соответствующей строкой в той же таблице.

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

1. вы пытаетесь обновить ту же строку или другую строку? при попытке обновить другую строку, в каком where предложении найти другую строку?

2. Я пытаюсь обновить ту же строку.

Ответ №1:

Чтобы обновить ту же самую строку, откуда AfterString поступают данные:

 update dbo.LOG
set    ID = RIGHT(CODE,len(CODE)-charindex('@',CODE))
where  charindex('@',CODE)<>0