2015-02-06 6 views
1

에 대해 UPDATE SELECT 문을 사용하려고합니다. i 용 DB2 (이전의 AS400)에 대해 UPDATE SELECT 문을 사용하여 도와 줄 사람이 있습니까? 정보를 기반으로 하나의 테이블을 업데이트하려고합니다. 다른 테이블에. 고맙습니다! TBLA 의 모든 키에 대한 tblb의 행을있다 - -IBM i 용 DB2 (AS400)

+0

난 당신이 귀하의 질문에 좀 더 상세 할 필요가 있다고 생각합니다. 다른 방식의 SQL을 사용하여이를 수행하는 방법을 알고 있습니까? –

+0

시도한 코드와 사용할 다양한 테이블의 열 설명을 게시하십시오. '편집'을 클릭하여 질문의 텍스트를 수정하십시오! 감사합니다. 또한, IBM i의 버전은 무엇입니까? –

+0

[** DB2 for i 문서 **] (http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71)에 아직 포함되지 않은 필요한 것을 알고 있다면 쉽게 도움이 될 것입니다. /sqlp/rbafyexsub4.htm?lang=en)을 참조하십시오. 당신은 명확히 할 수 있습니까? – user2338816

답변

1
UPDATE tbla A 
SET cola = (SELECT colb 
      FROM tblb B 
      WHERE a.key = b.key 
      ) 

은 위의 것을 하나 가정 또는 콜라는 가정이 거짓이면, 당신은 콜라에 대한 오류를하지거야 NULL 값

수 있습니다 NULL 허용.

기본값을 제공하기 위해 COALESCE를 사용하거나 tbla에서 tblb와 일치하지 않는 행을 tbla에서 업데이트하지 마십시오. 다음은 또한 유효 그래서, 행-가치 표현식이 허용하는

마지막으로, DB2 :

UPDATE tbla A 
SET (cola1, cola2) 
     = (SELECT colb1, colb2 
      FROM tblb B 
      WHERE a.key = b.key 
      )