Как обновить значения столбца с несколькими значениями из запроса в одной таблице в SQL Server? - PullRequest
0 голосов
/ 15 июня 2019

Я хочу обновить значения столбца в моей таблице новыми значениями из запроса этой таблицы.

На самом деле я хочу удалить несколько символов из существующих данных в одном столбце с помощью запроса.

Мой запрос:

UPDATE Files
SET [name] = (SELECT
                SUBSTRING([name],
                          CHARINDEX('__', [name]) + 2,
                          LEN([name]) - 1)
              FROM Files)

К сожалению, я получаю ошибку

Подзапрос вернул более 1 значения. Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.

Пожалуйста, помогите мне, как я могу обновить все данные этого столбца с помощью вышеуказанного запроса.

1 Ответ

0 голосов
/ 15 июня 2019

Это просто

UPDATE Files
SET [name] = SUBSTRING([name], CHARINDEX('__', [name]) + 2, LEN([name]) - 1);

Подзапрос

(SELECT
                SUBSTRING([name],
                          CHARINDEX('__', [name]) + 2,
                          LEN([name]) - 1)
              FROM Files)

вернет более 1 строки, потому что вы выбираете целые строки в таблице. Таким образом выдает ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...