SQL - 根据另一个表内容更新表行[重复]
Posted
技术标签:
【中文标题】SQL - 根据另一个表内容更新表行[重复]【英文标题】:SQL - Updating table rows based on anothers table content [duplicate] 【发布时间】:2019-04-16 19:36:43 【问题描述】:我有一个名为 #tempTab1 的临时表,其中包含如下列:
UserId, GroupId, Quantity
然后我有另一个表 #tempTab2 具有相似的列:
IdUser, IdGroup, ItemQuantity
我想使用第二个表 ItemQuantity 列中的数据更新第一个表的 Quantity 列。
我尝试过使用以下查询:
UPDATE #tempTab1
SET #tempTab1.Quantity = #tempTab2.ItemQuantity
WHERE #tempTab1.UserId = #tempTab2.IdUser
AND #tempTab1.GroupId = #tempTab2.IdGroup
我得到的是
子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。
最好的处理方法是什么?提前谢谢你
【问题讨论】:
【参考方案1】:你需要一个JOIN
:
UPDATE t1
SET Quantity = t2.ItemQuantity
FROM #tempTab1 t1 JOIN
#tempTab2
ON t1.UserId = t2.IdUser AND t1.GroupId = t2.IdGroup;
【讨论】:
以上是关于SQL - 根据另一个表内容更新表行[重复]的主要内容,如果未能解决你的问题,请参考以下文章