update table_A
set
column_Ac = sum(
case when column_Bb ='10001200' then column_Bc
when column_Bb ='10001220' then -column_Bc
when column_Bb ='10001201' then column_Bc
when column_Bb ='10001221' then -column_Bc
when column_Bb ='10001299' then column_Bc
end
)
from table_B
where column_Ba = '200810'
AND column_Bb IN
('10001200', '10001220','10001201', '10001221', '10001299')
and column_Bd=column_Be
AND column_Bd = column_Ad
and column_Ba = convert(char(6),column_Aa,112)
table_A의 column_Aa,column_Ab,column_Ac,column_Ad,column_Ae,
table_B의 column_Ba,column_Bb,column_Bc,column_Bd,column_Be
로 구성이 되어있을때,
제가 update할려는건 table_A의 column_Ac를 table_B의 column의 sum값으로 update를 하고 싶은데,
단,table_A와 table_B의
AND column_Bd = column_Ad
and column_Ba = convert(char(6),column_Aa,112)
인 값만 update를 하고 싶은데, 위에 처럼 하면, table_A의 모든 row가 update가 되네요...
뭐가 잘못된건가요???
|