我有一个名为#tempTab1的临时表,其中包含以下列:
UserId, GroupId, Quantity
然后,我还有另一个表#tempTab2,该表具有相似的列:
IdUser, IdGroup, ItemQuantity
我想使用第二个表格的ItemQuantity列中的数据更新第一个表格的“数量”列。
我尝试使用以下查询进行操作:
UPDATE #tempTab1
SET #tempTab1.Quantity = #tempTab2.ItemQuantity
WHERE #tempTab1.UserId = #tempTab2.IdUser
AND #tempTab1.GroupId = #tempTab2.IdGroup
我得到的是
子查询返回了多个值。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。
最好的处理方式是什么?预先谢谢你
答案 0 :(得分:0)
您需要一个JOIN
:
UPDATE t1
SET Quantity = t2.ItemQuantity
FROM #tempTab1 t1 JOIN
#tempTab2
ON t1.UserId = t2.IdUser AND t1.GroupId = t2.IdGroup;