使用 join 更新仅执行
我有一张有两行的桌子。这些行使用相同的 ItemID 但不同的 Quantity 和 RowID。
当我执行下面所示的查询时,代码似乎只运行一次:
这是我的查询:
Update t1
Set t1.Stock = t1.Stock + t2.Quantity
From Inventory t1
Join InventoryTrans t2 On t1.ItemID = t2.ItemID
Where t2.RowID In (26221, 26222)
我的预期库存结果应该是 3。但由于某种原因是 1
I have a table with two rows. These rows using same ItemID but different Quantity and RowID.
When I execute the query shown below, it seems that code runs only once:
Here is my query:
Update t1
Set t1.Stock = t1.Stock + t2.Quantity
From Inventory t1
Join InventoryTrans t2 On t1.ItemID = t2.ItemID
Where t2.RowID In (26221, 26222)
My expected result in stock should be 3. But for some reason is 1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你需要在这里聚合。最有可能的是:
注意我也使用有意义的别名。不要使用
t1
、t2
、t3
等别名,因为它们没有意义并且不一致。请参阅 要改掉的坏习惯:使用表别名,如 (a, b, c) 或 (t1, t2, t3)You need to aggregate here. Most likely this:
Note I also use meaningful aliases. Don't use aliases it's
t1
,t2
,t3
, as they are meaningless and won't be consistent. See Bad Habits to Kick : Using table aliases like (a, b, c) or (t1, t2, t3)