RossMW
Попробуйте запустить
select count(MT.MovieID)
from MovType MT inner join Category C
on MT.[type] = C.[Type]
group by C.[Type])
часть вашего заявления скупо. Вы, вероятно, обнаружите, что он возвращает несколько записей, и, следовательно, оператор set MovieNumber = потерпит неудачу с вашей ошибкой, так как он не может обновить его до нескольких значений.
Кроме того, вам понадобится предложение where в конце, чтобы обновлялась только соответствующая запись.
Попробуй
update Category
set MovieNumbers = numb
from
(select count(MovieID) as Numb, Type from MovType group by Type) x
where x.type = category.type
Hussien Ezzat
Да, я знаю, что он будет извлекать несколько значений, но я спрашиваю, есть ли способ обновить весь столбец MovieNumbers с помощью этого множества возвращаемых значений сразу ??
RossMW
Если вы внимательно посмотрите на свое заявление, то увидите, что
установить обновить категорию MovieNumbers = х
Ваш оператор не содержит никакого предложения where, поэтому он пытается обновить каждую запись несколькими значениями, возвращаемыми вашим оператором.
выберите граф(МФ.MovieID)
из MovType MT inner join Категория C
на MT. [type] = C.[Type]
группа по C.[тип]
утверждение и, следовательно, ошибка
Попробуй
категория обновления
набор MovieNumbers = онемели
от
(выберите граф(MovieID) как онемели, типа от группы MovType по видам) х
где X.тип = категория.тип
Я обновлю решение...