База данных имеет таблицу A, а таблица BAID связана с B.ID.
Мне нужно обновить все экземпляры A.Name, чтобы они были равны B.Catalog, если и только если эти экземплярысвязаны A.ID = B.ID.
Только записи в A, где A.Owner = 0, должны быть обновлены.
Код, который я придумал:
UPDATE A
SET A.Name = (SELECT B.Catalog
FROM B, A
WHERE (B.ID = A.ID) AND (A.Owner = 0))
WHERE A.ID IN (SELECT B.ID
FROM B, A
WHERE (B.ID = A.ID) AND (A.Owner = 0))
Ошибка "Subquery returned more than one value"
(MS SQL 2005 добавляет "MSG 512, LEVEL 16, STATE 1, LINE 1"
).Я понимаю, что говорит мне ошибка, что я пытаюсь установить одно значение равным нескольким результатам, возвращаемым оператором SELECT, но я думаю, что мои знания SQL слишком недостаточны, чтобы придумать правильный код.
Любая помощь будет принята с благодарностью.Это то, что я получаю за попытку научить себя!Головная боль!