문제 링크 : https://velog.io/@yooha9621/SQLP실기문제53번
SELECT 작업일련번호 , 작업자ID , '개통' 작업구분, 고객번호 , 주소
FROM 작업지시 A , 개통접수 B
WHERE A.작업구분코드 = 'A'
AND 방문예정일자 = TO_CHAR(sysdate , 'YYYYMMDD')
AND A.접수번호 = B.개통접수번호
UNION ALL
SELECT 작업일련번호 , 작업자ID , '장애' 작업구분, 고객번호 , 주소
FROM 작업지시 A , 장애접수 C
WHERE A.작업구분코드 = 'B'
AND 방문예정일자 = TO_CHAR(sysdate , 'YYYYMMDD')
AND A.접수번호 = C.장애접수번호
🍎 정리
- 방문 예정일자가 '오늘' 인 작업지시 데이터를 드라이빙 테이블로 놓고 작업구분코드에 따라 개통접수 테이블과 장애접수 테이블 각각 NL조인하여 UNION ALL 처리한다.
- 날짜 비교는 방문예정일자 = TO_CHAR(sysdate , 'YYYYMMDD') 로 했다.
😥 헷갈렸던 부분
- 방문예정일자 는 말그대로 연-월-일 까지만 나와있는 걸 나타낸다.
- 힌트 지정 불가라고 써져있었는데 힌트를 썼다.. 힌트 지워..!!!!
- /+ LEADING(A) USE_NL(B) / 라구 썼다.