1
我有一个名为dbo.Movies表,现在我想更新3行SQL更新语句:子查询返回多个值
这种说法只适用于一个记录
declare @movietype nvarchar(100) = 'Thriller'
declare @price real = 10
if @price < (select Price from dbo.Movies where MovieType = @movietype)
begin
update mo
set mo.Price = Price - @price
FROM dbo.Movies as mo
WHERE mo.MovieType = @movietype
end
但是当我尝试运行这个语句来更新这个3行,我得到错误
“消息512,级别16,状态1,行3 子查询返回多个值。当子查询跟随这是不允许的=,!=,<,< =,>,> =或者当子查询用作表达式时。“
我该如何修复这个查询来更新3行或更多行?
我猜你想避免消极的价格。在这种情况下,删除'if'并添加'和Price> = @ price'来更新Where子句中的查询。 –