어제 급한 마음에 질문을 드려 정보가 많이 부족했습니다.
제가 글을 올려놓고도.. 이건 답변이 어렵겠다. 라는 생각이 들었습니다.^^
질문에 대한 추가 정보 입니다.
A 테이블 - 인사정보
사번 이름 입사일자 주소 결혼유무 결혼기념일
========================================================
0001 홍길동 20110101 서울시 영등포구 기혼 19991231
B테이블 - 가족정보
사번 주민번호(가족구성원) 가족이름 가족관계
=======================================
0001 123456-7899999 홍길순 딸
0001 123456-7899998 홍길자 아들
0001 123456-7899888 홍말자 아들
C테이블 - 진급정보(History 성입니다.)
사번 이름 진급일자 직책 직책명
=================================
0001 홍길동 20110420 A20 주임
0001 홍길동 20110620 A30 대리
최종적으로 아래와 같은 데이터를 원하는데요,
사번 이름 입사일자 주소 결혼유무 결혼기념일 가족이름 가족관계 진급일자 직책 직책명
==================================================================================
0001 홍길동 20110101 서울시 기혼 19991231 홍길순 딸 20110420 A20 주임
0001 홍길동 20110101 서울시 기혼 19991231 홍길자 아들 20110620 A30 대리
0001 홍길동 20110101 서울시 기혼 19991231 홍말자 아들
아래와 같이는 만들었는데...
사번 이름 입사일자 주소 결혼유무 결혼기념일 가족이름 가족관계 진급일자 직책 직책명
==================================================================================
0001 홍길동 20110101 서울시 기혼 19991231 홍길순 딸
0001 홍길동 20110101 서울시 기혼 19991231 홍길자 아들
0001 홍길동 20110101 서울시 기혼 19991231 홍말자 아들
C Table 데이터를 가져올때
사번 이름 입사일자 주소 결혼유무 결혼기념일 가족이름 가족관계 진급일자 직책 직책명
==================================================================================
0001 홍길동 20110101 서울시 기혼 19991231 홍길순 딸 20110420 A20 주임
0001 홍길동 20110101 서울시 기혼 19991231 홍길자 아들 20110420 A20 주임
0001 홍길동 20110101 서울시 기혼 19991231 홍말자 아들 20110420 A20 주임
0001 홍길동 20110101 서울시 기혼 19991231 홍길순 딸 20110620 A30 대리
0001 홍길동 20110101 서울시 기혼 19991231 홍길자 아들 20110620 A30 대리
0001 홍길동 20110101 서울시 기혼 19991231 홍말자 아들 20110620 A30 대리
이렇게 중복되게 나오네요...
확인 좀 부탁드립니다.
제가 만든 쿼리문 입니다. 조언 부탁드립니다.
SELECT A.PR_SNO, A.PR_NAME, A.PR_ENTERDATE, A.PR_JUSO, A.PR_MARRY, A.PR_MARRYDATE, B.PF_NAME, B.PF_RELATION, B.PF_NO, C.PI_DATE, C.JK_NAME
FROM
(
SELECT PR_GUBUN, PR_SNO, PR_NAME, PR_ENTERDATE, PR_JUSO, PR_MARRY, PR_MARRYDATE
FROM H_PERSON
WHERE PR_OUTDATE = ' '
ORDER BY PR_SNO
) A,
(
SELECT BA.PR_GUBUN, BA.PR_SNO, BB.PF_NO, BB.PF_NAME, BB.PF_RELATION
FROM
(
SELECT *
FROM H_PERSON
WHERE PR_OUTDATE=' '
)BA,
(
SELECT PF_GUBUN, PF_SNO, PF_NO, PF_NAME, PF_RELATION
FROM H_PR_FAMILY
)BB
WHERE BA.PR_GUBUN = BB.PF_GUBUN
AND BA.PR_SNO = BB.PF_SNO(+)
ORDER BY BA.PR_SNO
) B,
(
SELECT CA.PR_SNO, CA.PR_NAME, CB.PI_DATE, CB.PI_BJIKCHAK, CC.JK_NAME
FROM
(SELECT PR_SNO, PR_NAME
FROM H_PERSON
WHERE PR_OUTDATE =' ')CA,
(
SELECT PI_SNO, MIN(PI_DATE) PI_DATE, PI_BJIKCHAK
FROM H_PR_INSA
GROUP BY PI_SNO, PI_BJIKCHAK
)CB,
(
SELECT JK_NAME, JK_CODE
FROM H_JIKCHAK
GROUP BY JK_NAME, JK_CODE
)CC
WHERE CA.PR_SNO = CB.PI_SNO(+)
AND CB.PI_BJIKCHAK = CC.JK_CODE(+)
ORDER BY CA.PR_SNO, PI_DATE
)C
WHERE A.PR_GUBUN = B.PR_GUBUN
AND A.PR_SNO = B.PR_SNO(+)
AND A.PR_SNO = C.PR_SNO(+)
AND A.PR_NAME = C.PR_NAME
AND B.PR_SNO = C.PR_SNO
|