기본적으로 한 테이블의 열 값을 다른 테이블의 다른 열로 복사합니다.null이 아닌 경우 다른 테이블의 데이터로 테이블을 업데이트 하시겠습니까?
내가 사용하고 쿼리는 다음과 같습니다 잘 작동하지만, 열에서 불일치가 있습니다
UPDATE t1
SET product_code =
(SELECT `value` FROM t2 WHERE t2.variant_id = t1.variant_id AND key_id = 10);
이
그래서 난에 업데이트를 할 만하는 절에 추가해야합니다 서브 쿼리가 null를 돌려주지 않는 경우, 그 행.어떻게하면됩니까?
사실 그 질문에 대답하지 않습니다 : join이 발생하더라도''value'' 열에 null이 있으면 어떨까요? – Bohemian
@Bohemian't2.value'가'null'과 같으면 여전히 갱신을 할 것입니다. 필자는 원래 OP에서 테이블 사이에 일치하는 레코드가 있는지 확인하려고했으나 'value'가 'null'인 경우는 제거하지 않았습니다. 그것은 내가 지금 만들었던'WHERE' 절을 아주 간단하게 추가 한 것입니다. 필자의 주된 의도는 조인에서 사용되는 열이 인덱싱된다고 가정 할 때 일반적으로 조인을 통해 업데이트를 수행하는 것이 더 효율적 일 것임을 나타내는 것입니다. –
+1 확인. 이제 작동합니다. 완전성 문제 만 :) – Bohemian