0

SQL Server 2008 Management Studio を使用していますが、ここに問題があります

列 ID (主キーとして、すべてが異なる) と合計を含む table1 があります。

ID SUM
--------    
1   10
2   5
3   5

これに加えて、列ID(今回は主キーではなく、繰り返される可能性があります)と重要ではない他の列を含むtable2があります。

ID ....
------------    
1
1
2
3

私がやろうとしているのは、テーブル2に各IDが現れる回数に応じてテーブル1からSUMを更新する手順を書くことです。 3個ずつ

これは私が書いたもので、table1 から 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'.

in here:に変更T2すると、プロシージャの作成中に別のエラーが発生します。table2(select count(T2.id) from table2)An aggregate may not appear in the set list of an UPDATE statement.

私の特定の試みとの関係は何ですか?1回のクエリで3行すべてを更新する方法はありますか?

4

1 に答える 1