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子句中的查詢。 –