아래 1번 수금테이블의 col_dt 를 업데이트 하려고 하는데..
업데이트할 날짜는 2번 날짜테이블에서 'req_ym 에 해당하는 날짜들' 중 임의의 날짜로 업데이트 하려고 합니다.
그래서 아래 3번 쿼리문처럼 만들어서 실행을 시켰더니
결과가 아래 4번과 같이 '동일한 req_ym 을 가진 데이타는 모두 동일한 랜덤날짜'로 업데이트가 되었습니다.
각각 랜덤한 날짜로 업데이트하고 싶은데 쿼리문을 어떻게 만들어야 할까요?
모든 데이타가 반드시 다른 날짜여야 하는 것은 아니고 같은 날짜로 업데이트되는 건들도 있을수 있습니다. 랜덤이니까요..
1. 수금테이블
req_ym reader_cd col_dt
201801 23821 (null)
201801 23819 (null)
201801 23998 (null)
201802 23819 (null)
201802 23821 (null)
201802 23961 (null)
201803 23819 (null)
201803 23774 (null)
201803 23961 (null)
2. 날짜테이블
req_ym col_dt
201801 20180205
201801 20180208
201801 20180210
201802 20180304
201802 20180316
201802 20180320
201803 20180404
201803 20180410
201803 20180417
3. 랜덤 업데이트 쿼리문
update 수금테이블 a
set
col_dt = (
select col_dt
from (
select col_dt
from 수금일랜덤테이블
ORDER BY DBMS_RANDOM.VALUE
)
where req_ym=a.req_ym and rownum=1
)
where req_ym between '201801' and '201803'
4. 결과
req_ym reader_cd col_dt
201801 23821 20180210
201801 23819 20180210
201801 23998 20180210
201802 23819 20180304
201802 23821 20180304
201802 23961 20180304
201803 23819 20180417
201803 23774 20180417
201803 23961 20180417
|