0
我使用SQL Server 2008 Management Studio中从另一个表添加的记录数,这里是我的问题SQL:更新表,
我有一个表1,其中包含列ID(如主键,所有它们是不同的),以及Sum的:
ID SUM
--------
1 10
2 5
3 5
除此之外我有一个表2,它包含一个列ID(未主键此时,可重复自己)和其他列,这是不显著:
ID ....
------------
1
1
2
3
我在做什么,正在写一个过程,它根据每个id在table2中出现的次数来更新table1中的SUM,所以基本上id = 1的总和会增加2,而id = 2 ,3为每一个
这是我写的,试图更新从表1只有一条记录(然后我会重复每个ID 3次):
update T1
set T1.sum=T1.sum+
(select count(T2.id) from T2)
from table1 T1
inner join table2 T2 on T2.id=T.id
where T1.id=1
and T2.id=1
,但我发现执行程序时出错:Invalid object name 'T2'.
如果在此处将T2
更改为table2
:(select count(T2.id) from table2)
,我在创建过程时遇到了另一个错误:An aggregate may not appear in the set list of an UPDATE statement.
与我的具体尝试有什么关系,有没有办法在一个查询中更新所有3行?