조건에 맞게 테이블 insert 0 1 222

by 퇴근하고싶다 [Oracle 기초] [2019.07.10 19:18:52]


안녕하세요 .

조건에 맞게 insert를 하고싶습니다.

table : staff

직번 이름 직급 성별 생년월일 진급일자
123456 홍길동 사원 880888  
123777 홍길동 주임 880888 20190101
789123 이순신 주임 770777  
789777 이순신 대리 770777 20190201
777987 김유신 과장 660666  
999123 박차장 차장 550555 20170101
888321 안중근 부장 660621  
888123 안중근 전무 660621 20190501

이런 테이블이 있다면...

조건 : 진급일자가 20190101이상이고 , 직번,생년월일이 두개인사람만 select 후  2090101이상인것만 staff2에 insert

테이블 : staff2

진급일자 구분번호 이름 생년월일
20190101 123777 홍길동 880888
20190201 789777 이순신 770777
20190501 888123 안중근 660621
       
       
       
       
       

감사합니다.

by 러드 [2019.07.11 08:35:12]

insert staff2 ( 이름, 생년월일, 진급일자, 직번)

select 이름, 생년월일, 진급일자

        ,   max(직번) over ( partition by 이름, 생년월일 order by 진급일자 desc )

     from ( select 이름, 생년월일, 직번

        ,      max(nvl(진급일자, 19010101)) as 진급일자

        from staff

   Group by 이름, 생년월일

   having count(*) > 1

)

Where 진급일자 >= 20190101

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