2012-03-08 4 views
0

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

Запрос

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

Этот запрос показывает ошибку как

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

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

ответ

1

Просто перепишите UPDATE использовать JOIN, и вы можете обновить столько строк, сколько вам нравится ...

UPDATE a SET slloc = d.Location 
FROM acc a 
JOIN Duplication$ d ON d.GROUP1 = a.grpcd 
       AND d.div = a.ccode 
0

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

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

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

Смежные вопросы