MERGE
INTO TABLE1 T1
USING (SELECT DISTINCT(COL1) AS COL1 FROM TABLE2) T2
ON (T1.NEWCODE = T2.COL1)
WHEN MATCHED THEN
UPDATE SET T1.OLDCODE = T2.OLDCOL;
TABLE2 에서 날짜만 다르고 COL1값은 동일한 row 가 여러개라 distinct를 걸어주었습니다.
위 쿼리와 같이 수행하려고 하는데 T2.COL1에서 부적합한 식별자라는 오류가 발생합니다.
왜그런걸까요 ㅠㅠ 도움 부탁 드립니다..
--------------------------------------------------------------------
OLDCOL, COL1, STATUS 가 동일한 경우가 있어서 아래와 같이 수정하였습니다.
그래도 동일한 컬럼에 대해 부적합한 식별자 오류가 발생합니다.
MERGE
INTO TABLE1 T1
USING (SELECT MAX(OLDCOL), MAX(COL1), MAX(STATUS) FROM TABLE2 GROUP BY OLDCOL) T2
ON (T1.NEWCODE = T2.COL1)
WHEN MATCHED THEN
UPDATE SET T1.OLDCODE = T2.OLDCOL;