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行すべてを更新する方法はありますか?