Я хочу обновить табличное значение, сравнивая его с двумя значениями столбцов.
Запрос
UPDATE acc SET slloc = (SELECT Location FROM Duplication$ WHERE Duplication$.GROUP1 = acc.grpcd AND acc.ccode = Duplication$.div)
Приведенный выше запрос показывает ошибку как
Подзапрос вернул большечем 1 значение.Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.Оператор был прекращен.
Как я могу изменить свой запрос
Просто перепишите свое ОБНОВЛЕНИЕ, чтобы использовать JOIN, и вы можете обновить столько строк, сколько хотите ...
UPDATE a SET slloc = d.Location FROM acc a JOIN Duplication$ d ON d.GROUP1 = a.grpcd AND d.div = a.ccode
Это сообщение об ошибке означает, что существует более одного Location, где:
Location
Duplication$.GROUP1 = acc.grpcd AND acc.ccode = Duplication$.div
равно true.Вам необходимо выяснить, когда это возможно, и, если необходимо, пересмотреть свою стратегию.