Обновите таблицу с двумя значениями столбцов - PullRequest
0 голосов
/ 08 марта 2012

Я хочу обновить табличное значение, сравнивая его с двумя значениями столбцов.

Запрос

UPDATE  acc SET slloc =
  (SELECT  Location
    FROM   Duplication$
    WHERE  Duplication$.GROUP1 = acc.grpcd 
         AND acc.ccode = Duplication$.div)

Приведенный выше запрос показывает ошибку как

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

Как я могу изменить свой запрос

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Просто перепишите свое ОБНОВЛЕНИЕ, чтобы использовать JOIN, и вы можете обновить столько строк, сколько хотите ...

UPDATE a SET slloc = d.Location
FROM acc a
JOIN Duplication$ d ON d.GROUP1 = a.grpcd 
                AND d.div = a.ccode 
0 голосов
/ 08 марта 2012

Это сообщение об ошибке означает, что существует более одного Location, где:

Duplication$.GROUP1 = acc.grpcd AND acc.ccode = Duplication$.div

равно true.Вам необходимо выяснить, когда это возможно, и, если необходимо, пересмотреть свою стратегию.

...