2014-12-15 4 views
0
내가 SQLAnywhere을 사용하는 프로젝트에서 일하고 있어요

을에 가입하고 나는이 쿼리 발견, 업데이트 및 표 2/표 2에 합류하는 그렇지되는 표를업데이트 SQLAnywhere

update MY_TABLE table1 
set table1.column1 = table3.id 
from MY_TABLE table2, MY_OTHER_TABLE table3 
where table2.some_col = table3.some_col and table2.other_col is null; 

문제는이다 링크가있어 제약이 없습니다. Table1은 다른 두 개와 완전히 독립적입니다.

그래서 내가 이해할 수있는 한, 마지막 줄의 조건이 적어도 하나의 행에 대해 충족되면 join-statement가 항상 true이기 때문에 table1의 모든 행이 업데이트됩니다.

맞나요? 아니면 뭔가 빠졌습니까?

답변

0

짧은 대답 : 예. 나는 동의한다;)

긴 대답 : 실제로 테이블 1과 테이블 2와 3 사이에는 아무런 연관이없는 것처럼 보인다. 위 입력에 따르면, 나는 언급 된 행동을 기대한다.

또한 혼동을 초래할 수 있으므로 여기에 암시 적 조인을 제거하겠습니다.