조회 기간 관련 문의 0 1 1,089

by 아침 [Oracle 기초] [2022.08.28 17:44:31]


Table history1 Table history2 테이블 두개가 있습니다 
두개 테이블은 각각 데이터 건수가 많은 상태이구요 두 개 테이블에서 조인해야됩니다 
예를 들어서 작성해보겠습니다.
Table history1 
컬럼 목록
날짜,사업자번호,이름,핸드폰번호,구주소,신주소,수정여부,수정내용
--데이터
20220801 / 10001 / 홍길동 / 010-1234-xxxx / xxxxx 100-1 / 해변로 11 / N / null
20220802 / 10001 / 홍길동 / 010-1234-xxxx / xxxxx 100-1 / 해변로 11 / N / null
20220803 / 10001 / 홍길동 / 010-1234-xxxx / xxxxx 100-1 / 해변로 11 / N / null
20220804 / 10001 / 홍길동 / 010-1234-xxxx / xxxxx 100-1 / 해변로 11 / N / null
20220801 / 10002 / 길동이 / 010-1234-xxxx / xxxxx 100-11 / 해변로 20 / N / null
20220802 / 10002 / 길동이 / 010-1234-xxxx / xxxxx 100-11 / 해변로 20 / N / null
20220803 / 10002 / 길동이 / 010-1234-xxxx / xxxxx 100-11 / 해변로 20 / N / null
20220804 / 10002 / 길동이 / 010-1234-xxxx / xxxxx 100-11 / 해변로 20 / N / null

Table history2
날짜,사업자번호,사업주명,사업주번호,구주소,신주소,수정여부,수정내용
--데이터
20220801 / 10001 / 홍길동식품 / 010-1234-xxxx / xxxxx 100-1 / 해변로 11 / N / null
20220802 / 10001 / 홍길동식품 / 010-1234-xxxx / xxxxx 100-1 / 해변로 11 / N / null
20220803 / 10001 / 홍길동식품 / 010-1234-xxxx / xxxxx 100-1 / 해변로 11 / N / null
20220804 / 10001 / 홍길동식품 / 010-1234-xxxx / xxxxx 100-1 / 해변로 11 / N / null
20220801 / 10002 / 길동이식품 / 010-1234-xxxx / xxxxx 100-11 / 해변로 20 / N / null
20220802 / 10002 / 길동이식품 / 010-1234-xxxx / xxxxx 100-11 / 해변로 20 / N / null
20220803 / 10002 / 길동이식품 / 010-1234-xxxx / xxxxx 100-11 / 해변로 20 / N / null
20220804 / 10002 / 길동이식품 / 010-1234-xxxx / xxxxx 100-11 / 해변로 20 / N / null

위와 같이 각 테이블 데이터들은 일별로 데이터가 있음
(pk는 날짜,사업자번호입니다)
조회 조건 1. 1달이나 1주일이나 현재날짜와 전일날짜를 조회해올 수 있습니다
(예를 들어, 8월1일 ~ 8월 31일까지 조회기간을 선택해서 조회할 수 있음)

제가 출력하고 싶은 데이터

두 테이블을 조인해서

8월 1일 ~ 8월 3일 조회했을 시
날짜,사업자번호,이름,사업주명,사업주번호,구주소,신주소,수정여부,수정내용 << 컬럼입니다.
20220801 / 10001 / 홍길동 / 홍길동식품 / 010-1234-xxxx / xxxx 100-1 / 해변로 11 / N / null
20220802 / 10002 / 길동이 / 길동이식품 / 010-1234-xxxx / xxxx 100-11 / 해변로 20 / N / null
20220802 / 10001 / 홍길동 / 홍길동식품 / 010-1234-xxxx / xxxx  200-1  / 해변로 15 / Y / 구주소,신주소(컬럼명)
20220803 / 10001 / 홍길동 / 홍길동식품 / 010-1000-xxxx / xxxx  200-1  / 해변로 15 / Y / 사업주번호(컬럼명)

이런식으로 두 테이블 조인해서 뽑아야되는데
위 해당 데이터들을 보시면은
수정여부의 N값은 수정여부가 Y되기 전 최근 N값 1건을 보여줘야되고 
조회 기간 중에 사업자번호 기준으로 변경된 데이터가 1번이라도 Y로 변경된 데이터가 있거나 2번,3번도 변경될 수 있기에
Y값으로 조회된 데이터는 조회기간에 포함하면 다 보여줘야되는 조건이 있습니다
그리고 각각 테이블별로 일별 데이터들이 들어있다보니
속도가 일단 느리기는 하지만 저렇게 데이터를 뽑고 싶습니다!

by 마농 [2022.08.29 09:30:58]

원본 대비 결과가 안 맞네요.
원본과 결과가 서로 정확하게 일치하는 예시자료로 질문해 주세요.
설명도 부족합니다. 이해가 안가요.

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