gpt4 book ai didi

sql-server - 使用自连接表变量的 T-SQL UPDATE

转载 作者:行者123 更新时间:2023-12-03 02:34:23 25 4
gpt4 key购买 nike

假设有一张 table :

declare @tab table (id int, val int)
insert into @tab(id, val)
values (1,10),(2,20),(1,15)

需要更新表并为每个 id 设置表中具有相同 id 的所有值的总和

update @tab
set val = (select sum(val) from @tab tab where tab.id = id)

最后一个查询的 where 子句始终为 true,因此每一行都将包含表中所有值的总和。

如果表是真实的(不是表变量),我将使用表名称引用它:

update realtab
set val = (select sum(val) from @tab tab where tab.id = realtab.id)

可以对表变量进行这样的更新吗?

最佳答案

尝试使用 UPDATE ... FROM

update t
set val = (select sum(val) from @tab tab where tab.id = t.id)
FROM @tab t

关于sql-server - 使用自连接表变量的 T-SQL UPDATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5713916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com