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行?