두개의 테이블를 조인 시켜서 UPDATE?? 0 7 1,721

by 차차 [2017.03.16 14:35:29]


A 라는 테이블에 값을 바꿔줄려고 하는데 

B 라는 테이블에 해당하는 코드를 선택하면 

A 에서는 업데이트가 되게끔 쿼리를 짤려고 했는데

WHERE 절에 서브쿼리를 넣으니 B라는 테이블을 찾지를 못하네요..

A 에는 통과라는 컬럼이 없고 B라는 테이블엔 통과라는 컬럼이 있고

B 통과 컬럼 의 값이 들어오면 A 테이블에 대한 정보를 수정 하고 싶은데 

 

by jkson [2017.03.16 15:15:40]

실제 쿼리를 올려보세요.


by 차차 [2017.03.16 15:25:28]
UPDATE TB2_A
     SET ISU_FLAG = 'Y'
        ,LST_MDF_DT  = SYSDATE
   WHERE SUBORG_CD = 'A1'
     AND DEPT_CD = 'DEPT0001'
     AND EDU_TP_CD = 'EDU01'
     AND EXC_CODE  =   (SELECT EXC_CODE
                          FROM TB2_B
                         WHERE EXC_CODE = 'SUC01');

서브쿼리에 있는 값을 가져오고 싶어요 A 테이블엔 값이 없습니다!


by jkson [2017.03.16 15:52:04]

A테이블에는 값이 없다는 게 무슨 말씀이신지..

서브쿼리 결과가 여러 건 아닌가요? 만약 그렇다면 EXC_CODE = 가 아니라 EXC_CODE IN을 쓰셔야할 것 같은데..

쿼리도 이상하네요.

UPDATE TB2_A
     SET ISU_FLAG = 'Y'
        ,LST_MDF_DT  = SYSDATE
   WHERE SUBORG_CD = 'A1'
        AND DEPT_CD = 'DEPT0001'
        AND EDU_TP_CD = 'EDU01'
        AND EXC_CODE  = 'SUC01'

이것과 같은 의미인 쿼리 같은데요.

 

 


by 차차 [2017.03.16 16:04:18]

아직 영 어렵네요 ㅠㅠ

A 테이블엔 EXC_CODE 컬럼이 없고요

B 테이블엔 EXC_CODE 컬럼이 있습니다.


by jkson [2017.03.16 16:07:15]

A 테이블에 exc_code 컬럼이 없는데 where 절에 적으시면 오류가 나겠죠.

테이블 구조를 적으시고 하려고 하시려는 작업을 설명해보세요.

쿼리만 봐서는 뭘 하시려는 건지 알 수가 없네요.


by 마농 [2017.03.17 08:33:42]

조인을 하려면?
조인키가 있어야 합니다.
두 테이블 간 조인키를 알려주세요.


by 차차 [2017.03.17 13:53:28]

아 처음부터 전혀 연관 지을 수 없게 테이블을 제가 만들어 놨네요..

세부적인건 신경 못 쓰고 보이는것만 테이블을 짜니깐 이렇게 되네요 ㅠㅠ

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입