처음으로 질문 올려봅니다. 앞으로도 잘 부탁드려요~^^a
제 숙제는 test_sh12 테이블과 test_pro 테이블을 조인하여
test_sh12 테이블의 tab_nm 컬럼과 col_nm 컬럼에 AA,BB라는 값들을 test_pro 의
tab_nm 컬럼과 col_nm 컬럼 값으로 update를 하고 싶은데요 한다고 계속 해봤는데
서브쿼리 자체만으로는 값들이 정상적으로 나오는데
update 문을 적용하면 그냥 null로 치환되고 맙니다.
어느 부분이 문제인지 알려주시면 감사하겠습니다~
완전 초보라 쿼리 자체가 이상하다면 따끔한 질책도 달게 받아들이겠습니다
부탁드릴게요~ 고수님들~ ㅜㅜ
update test_sh12 a set (tab_nm, col_nm) = ( select b.tab_nm, b.col_nm from ( select distinct t.dbname , t.tab_id , p.tab_nm , t.col_id , p.col_nm , t.exl_no from test_sh12 t , test_pro p where 1=1 and t.tab_id = p.tab_id and t.col_id = p.col_id and case when rtrim(t.tab_nm) in ('AA','BB') then 1 when rtrim(t.col_nm) is null then 1 when rtrim(t.col_nm) in ('AA','BB') then 1 else 0 end = 1 order by dbname , tab_id ) b where 1=1 and b.dbname = a.dbname and b.tab_id = a.tab_id and b.tab_nm = a.tab_nm and b.col_id = a.col_id and b.col_nm = a.col_nm and b.exl_no = a.exl_no ) where 1=1 and rtrim(a.tab_nm) in ('AA','BB') or rtrim(a.col_nm) in ('AA','BB') or rtrim(a.col_nm) is null ;