我想問一下關於SQL Server 2008的查詢更新。更新表超過1行
我想用這樣的查詢更新多於1行的表。
update #temp_cost
set acct_cd = (
select acc_no from acc_gltrans
where voucher like 'SCS/GR%'
and debit_credit > 0
)
where grn_no = (
select voucher from acc_gltrans
where voucher like 'SCS/GR%'
and debit_credit > 0
);
,但得到這樣的錯誤
子查詢返回多個值。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。
我希望有人能幫助我解決這個問題, 感謝
我不是專家,但顯然你的子查詢的一個返回多個值。您不能將'acct_cd'設置爲多個值。 –
如果要更新sql server中的多行,可以使用IN運算符代替=運算符。 –