다른 테이블에서 레코드의 번호를 추가, 테이블을 업데이트하고 모든, 기본 키로 (내 문제를 내가 열 ID가 포함 된 표를 가지고SQL : 여기에 내가 SQL 서버 2008 Management Studio를 사용하고
입니다 그들을 구별)과 합의 :
ID ....
------------
1
1
2
3
이 외에도
ID SUM
--------
1 10
2 5
3 5
나는 (기본 키 이번에 열 ID를 포함하는 표 2는 중요하지 다른 열을 스스로 반복) 및 수있다
내가 뭘 하려는지, 각 id가 table2에 나타나는 시간에 따라 table1에서 SUM을 업데이트하는 절차를 작성하고 있으므로 기본적으로 id = 1에 대한 합계는 2로 증가하고 id = 2에 대해서는 incremened됩니다. 하나
이하여 각 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'.
table2
을 여기에 변경하면
(select count(T2.id) from table2)
, 프로 시저를 생성하는 동안 또 다른 오류가 발생합니다.
An aggregate may not appear in the set list of an UPDATE statement.
내 구체적인 시도는 무엇입니까? 한 쿼리에서 3 행을 모두 업데이트하는 방법이 있습니까?